SORU
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ş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jorrit Jongma

    Jorrit Jongm

    17 Ocak 2008
  • Kanál používateľa McsFuego

    Kanál použ

    12 EKİM 2011
  • Crossover

    Crossover

    18 HAZİRAN 2007