2012-10-24 129 views
1

我無法使用Navicat從sqlite數據庫中刪除記錄。錯誤寫着:'錯誤約束失敗」無法使用Navicat從sqlite數據庫中刪除記錄

我得到同樣的事情,如果我嘗試刪除使用SQL命令控制檯:

sqlite> delete from myTable where sort = '965'; 
constraint failed 
sqlite> 

任何想法,爲什麼這可能發生。

感謝您的幫助

回答

1

它看起來像這樣表都有一個作爲另一個表中的FK引用的字段,所以SQLite的說法

"I can,'t delete it, its inuse in another table" 
+0

是的,你是對的。另一個catalogue_myTable表中有一個myTable_id。我是否必須先刪除該參考?謝謝:) – hanumanDev

+2

是的......先刪除那個引用。 –

1

使用sqlite3殼的.schema命令顯示所有表格定義。 然後您可以看到myTable或子表上的哪個約束會阻止您刪除。

如果在另一個表中存在外鍵約束,則必須刪除該表中引用您的965記錄的所有記錄,然後才能刪除記錄本身。