2015-09-29 19 views
0

的Android SQLite的ON UPDATE CASCADE不工作
請幫我
這是我的表的Android SQLite的 「關於級聯更新」 工作不

String tablausuariocreate="CREATE TABLE IF NOT EXISTS USUARIO(" + 
      "idusuario INTEGER PRIMARY KEY NOT NULL," + 
      "DELETED BOOLEAN DEFAULT(0))"; 

    String tablazonacreate="CREATE TABLE IF NOT EXISTS ZONA(" + 
     "IDZ INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL," + 
     "NAME VARCHAR(150)," + 
     "idusuario integer," + 
     "DELETED BOOLEAN DEFAULT(0)," + 
     "FOREIGN KEY(idusuario) REFERENCES USUARIO(idusuario) on update cascade)"; 

String tablaclientecreate = "CREATE TABLE IF NOT EXISTS CLIENTE(" + 
     "IDC INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL," + 
     "NAME VARCHAR(50) UNIQUE," + 
     "IDZ INTEGER," + 
     "idusuario integer," + 
     "DELETED BOOLEAN DEFAULT(0)," + 
     "FOREIGN KEY(IDZ) REFERENCES ZONA(IDZ) on delete set null on update cascade," + 
     "FOREIGN KEY(idusuario) REFERENCES USUARIO(idusuario) on update cascade)"; 
+0

你能告訴我們你的錯誤日誌嗎? – zkminusck

+0

當我更新區域不更新客戶端 – dannaandroid

回答

1

在這一行已經設置的外鍵設置爲空值上刪除,而不是級聯:

"FOREIGN KEY(IDZ) REFERENCES ZONA(IDZ) on delete set null on update cascade," 

你應該把它設置爲on delete cascade。 您可能還需要重新創建表以應用更改(刪除IF NOT EXISTS條件)。