"CREATE TABLE IF NOT EXISTS " + "child_table" + "(" + " id INTEGER," + " signal_name TEXT," + " data_id INTEGER," + " FOREIGN KEY (signal_name) " + " REFERENCES " + "parent_table_1" + " (name) ON DELETE CASCADE ON UPDATE CASCADE," + " FOREIGN KEY (data_id)" + " REFERENCES " + "parent_table_2" + " (id) ON DELETE CASCADE ON UPDATE CASCADE," + " PRIMARY KEY (id, signal_name, data_id) ON CONFLICT IGNORE, CONSTRAINT \"PrimaryKey\"" + ");";
Giving following error::
android.database.sqlite.SQLiteException: foreign key mismatch (code 1): , while compiling: DELETE FROM child_table WHERE data_id=?
at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31)
at android.database.sqlite.SQLiteDatabase.delete(SQLiteDatabase.java:1494)
Aucun commentaire:
Enregistrer un commentaire