我有兩個表'元素'和'列表' 列表有一個主鍵和一個列表名稱。 元素具有與列表中的單個條目有關的數據。在SQLite中有用的外鍵?
元素需要持有其中列出元素是一列。
我讀過有關SQL的外鍵約束,這個數字是要鏈接表的最佳方式,但我使用SQLite它沒有按不強制執行關鍵約束。
如果沒有強制執行,是否需要聲明外鍵約束?
我有兩個表'元素'和'列表' 列表有一個主鍵和一個列表名稱。 元素具有與列表中的單個條目有關的數據。在SQLite中有用的外鍵?
元素需要持有其中列出元素是一列。
我讀過有關SQL的外鍵約束,這個數字是要鏈接表的最佳方式,但我使用SQLite它沒有按不強制執行關鍵約束。
如果沒有強制執行,是否需要聲明外鍵約束?
它總是好做,即使你的數據庫不強制約束(舊版本的MySQL,例如)。這樣做的理由是有一天,有人會嘗試閱讀你的模式(甚至可能是你自己)。
如果您不能使用新版本,仍然可以聲明約束並使用觸發器強制執行。無論哪種情況,我都不會忽略符號。這太有幫助了。
如今sqlite執行外鍵,下載新版本。
外鍵是一個字段(或字段) 指向的 另一個表的主鍵。 外鍵的目的是確保參照 數據的完整性。換句話說, 只允許在數據庫中出現 的值。
它只執行「業務規則」。如果你從商業角度需要這個,那麼是的,這是必需的。
索引不會受到影響。
您仍然可以根據需要創建索引。
看一看Foreign Key
和
最新版本是什麼?我必須使用sqlite3,它支持外鍵嗎? – CodeFusionMobile 2009-12-10 19:07:51
在這裏閱讀,sqlite 3.6.19強制外鍵不使用觸發器:http://www.sqlite.org/foreignkeys.html – tuinstoel 2009-12-10 19:10:14