Nevermind--for whatever reason, Google saw fit to do this:
/**
* Convenience method for inserting a row into the database.
*
* @param table the table to insert the row into
* @param nullColumnHack SQL doesn't allow inserting a completely
empty row,
* so if initialValues is empty this column will
explicitly be
* assigned a NULL value
* @param values this map contains the initial column values for
the
* row. The keys should be the column names and the
values the
* column values
* @return the row ID of the newly inserted row, or -1 if an error
occurred
*/
public long insert(String table, String nullColumnHack,
ContentValues values) {
try {
return insertWithOnConflict(table, nullColumnHack, values,
null);
} catch (SQLException e) {
Log.e(TAG, "Error inserting " + values, e);
return -1;
}
}
----- Original Message -----
From: "Jim Showalter" <[email protected]>
To: "General Discussion of SQLite Database" <[email protected]>
Sent: Sunday, July 12, 2009 6:03 PM
Subject: [sqlite] Raise is not working
> Schema:
>
> create table words (_id integer primary key autoincrement, wordtext
> text not null unique);
>
> create table definitions (_id integer primary key autoincrement,
> owningWordId integer not null unique, deftext text not null);
>
> create trigger fki_definitions_words_id before insert on definitions
> for each row
> begin
> select raise (rollback, 'insert on table definitions violates
> foreign-key constraint fki_definitions_words_id')
> where (select _id from words where _id = NEW.owningWordId ) is
> null;
>
> end;
>
> Call db.insert, passing it a definition that has the owningWordId
> set
> to -1, and the insert returns a -1 instead of throwing.
>
> Because it doesn't throw, I don't have the error message "insert on
> table definitions violates foreign-key constraint
> fki_definitions_words_id" to work from. Information is simply lost.
>
> Why isn't it raising an exception?
>
> _______________________________________________
> sqlite-users mailing list
> [email protected]
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users