我試圖在SQLite中使用外鍵支持來維護具有自反連接的單表數據庫上的參照完整性。SQLite:使用自反連接刪除規則功能?
例如
PRAGMA foreign_keys = ON;
create table tree (
objectId text unique not null,
parentObjectID text,
foreign key (parentObjectID) references tree(parentObjectID) on delete cascade
)
我希望的行爲是當父行被刪除時,其子行和子行也被刪除。
然而,當我試圖刪除根行(其中預期的行爲將是數據庫中的所有其他行也被刪除),我得到這個錯誤:
sqlite> delete from tree where objectid = '0';
Error: foreign key mismatch
是我的期望出用SQLite外鍵支持(和刪除行爲)可以提供?
LOL ... Ouch。那麼,有第二套眼睛是很好的。我想知道要多久才能看到那個......嘆氣。謝謝! – xyzzycoder
花了我一段時間才發現它,即使它藏在普通的網站。 –
我看到了我現在預期的行爲。如果「根」行被刪除,則刪除規則級聯以產生空表。 – xyzzycoder