myFooTable
関連するすべてのレコードからレコードを削除するmyFooBarLinkTable
と、削除も削除されるように、削除をカスケードしようとしmyBarTable
ています。現在の DB スキーマの試みの簡略版を以下に示します。myFooTable
関連するレコードからレコードを削除すると、myFooBarTable
削除されます。の記録myBarTable
はまだ残っています。
public class MyDatabaseManager extends SQLiteOpenHelper {
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE myFooTable (fooID INTEGER PRIMARY KEY AUTOINCREMENT, " +
"fooText1 TEXT," +
"fooText2 TEXT " +
");");
db.execSQL("CREATE TABLE myBarTable (barID INTEGER PRIMARY KEY AUTOINCREMENT, " +
"barText1 TEXT, " +
"barText2 TEXT);" );
db.execSQL("CREATE TABLE myFooBarLinkTable (fooBarLinkID INTEGER PRIMARY KEY AUTOINCREMENT, " +
"fooLinkID REFERENCES myFooTable(fooID) ON DELETE CASCADE, " +
"barLinkID REFERENCES myBarTable(barID) ON DELETE CASCADE);" );