30 Mart 2010, Salı
Android SQLite kullanarak yabancı anahtar kısıtlamaları? on Delete cascade
İki tablo var: izler ve yol işaretleri, bir parça birçok yol işaretleri olabilir, ama bir geçiş noktası sadece 1 parça atanır.
Bu şekilde bir tablo sütun "" track_İD bir parça yapıldıktan sonra, ancak bu sütun Kur Yabancı Anahtar kısıtlamaları var. trackidfk aradım puan
Atanan yol işaretlerini silmek istiyorum bir parça sildiğimde, bu mümkün mü?. Tetikleyiciler kullanarak okumuştum ama Android desteklenen olduklarını sanmıyorum.
Yol işaretleri tablo oluşturmak için:
public void onCreate(SQLiteDatabase db) {
db.execSQL( "CREATE TABLE " TABLE_NAME
" ("
_ID " INTEGER PRIMARY KEY AUTOINCREMENT, "
LONGITUDE " INTEGER,"
LATITUDE " INTEGER,"
TIME " INTEGER,"
TRACK_ID_FK " INTEGER"
" );"
);
...
}
CEVAP
16 Temmuz 2010, Cuma
On delete cascade ile yabancı anahtar kısıtlamaları desteklenmektedir, ancak onları etkinleştirmeniz gerekir.
Ben sadece benim için şunları eklediSQLOpenHelperhile yapmak gibi görünüyor.,
@Override
public void onOpen(SQLiteDatabase db) {
super.onOpen(db);
if (!db.isReadOnly()) {
// Enable foreign key constraints
db.execSQL("PRAGMA foreign_keys=ON;");
}
}
Aşağıdaki gibi referans köşemi ilan ettim.
mailbox_id INTEGER REFERENCES mailboxes ON DELETE CASCADE
Bunu Paylaş:
Nasıl yabancı anahtar kısıtlamaları ge...
Kısıtlamaları etkinleştirmek için başa...
MySQL yabancı anahtar kısıtlamaları, a...
Nasıl Yabancı Anahtar İlişkileri Kod İ...
(Nasıl 3.6.21) mevcut bir sqlite tablo...