回答
SQLite3中的觸發器強制外鍵約束。鏈接https://www.sqlite.org/cvstrac/wiki?p=ForeignKeyTriggers會幫助你解決你的第一個問題。
我找不到使用「數據庫結構」選項卡定義外鍵約束的方法。我強烈建議使用腳本定義表格定義和約束,而不是使用圖形編輯器來構建表格定義和約束 - 這使得創建新數據庫和追蹤模式更改變得更加容易。通過一個例子,假設我們有兩個表:一個定義文件名,一個定義用於壓縮的方法,我們可以在定義它時向file_definition表添加外鍵約束。
CREATE TABLE [compression_state] (
[compression_state_id] INTEGER PRIMARY KEY NOT NULL,
[value] TEXT NOT NULL
);
CREATE TABLE [file_definition] (
[file_id] INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
[compression_state_id] INTEGER NOT NULL,
[name] TEXT NOT NULL,
FOREIGN KEY(compression_state_id) REFERENCES compression_state(compression_state_id)
);
然而,在默認情況下,SQLite的也不會強制約束,所以每次連接到數據庫時,您必須發出以下命令啓用約束檢查。
PRAGMA foreign_keys = ON;
在documentation的更多詳細信息。
如果已經存在的表,你不希望建立一個完整的腳本,那麼你的運氣了,一旦產生表SQLite不支持添加外鍵,在這裏看到:SQL Features That SQLite Does Not Implement
晚答案也許有幫助別人
從SQLite的文檔: CREATE TABLE artist( artistid INTEGER PRIMARY KEY, artistname TEXT ); CREATE TABLE track( trackid INTEGER, trackname TEXT, trackartist INTEGER -- Must map to an artist.artistid! );
並在年底CREATE TABLE track( trackid INTEGER, trackname TEXT, trackartist INTEGER, FOREIGN KEY(trackartist) REFERENCES artist(artistid) );
在DB瀏覽器SQLite的環境(v 3.8.0 - sqlite的v 3.9.2)當您添加D B字段爲跟蹤表以及 的PK,AI等列可以找到一個外鍵列。
在那裏,對於本示例,您只需在trackartist行中添加藝術家(artistid)。
然後創建外鍵約束。
在DB瀏覽器,在編輯表定義窗口中,您可以雙擊外鍵的空白區域和一個文本框將被激活。你可以在那裏添加你的外鍵。
- 1. 在sqlite數據庫中創建一個外鍵
- 2. 在數據庫瀏覽器中查看QML SQLite數據庫
- 3. 如何在附加的sqlite數據庫中創建外鍵?
- 4. 在Android中使用外鍵創建SQLite數據庫?
- 5. 有沒有辦法在SQLite數據庫瀏覽器中創建.db文件
- 6. 外鍵不會在SQLite數據庫使用SQLite.net創建
- 7. 在SQLite數據庫中獲取外鍵
- 8. 從SQLite瀏覽器創建的數據庫不工作在設備「Android」
- 9. 在查詢瀏覽器中創建數據庫備份
- 10. 如何查看SQLite數據庫瀏覽器中的數據?
- 11. 在Android庫中創建SQLite數據庫
- 12. iPhone:創建支持外鍵的sqlite數據庫
- 13. 如何在Sqlite數據庫瀏覽器中上傳圖片?
- 14. 如何使用sqlite管理器在sqlite中創建外鍵
- 15. SQLite檢查約束和SQLite數據庫瀏覽器
- 16. SQLite數據庫瀏覽器只顯示第一行
- 17. 如何在sqlite android中創建外鍵?
- 18. 在Android平板電腦上查看SQLite數據 - SQLite數據庫瀏覽器
- 19. SQLite數據庫瀏覽器中的小數點
- 20. 從Android Studio瀏覽SQLite數據庫
- 21. 用外鍵創建數據庫
- 22. 用cordova在sqlite中創建數據庫
- 23. 表未在SQLite數據庫中創建
- 24. 在android中創建SQLite數據庫
- 25. 在JDBC中創建數據庫Sqlite
- 26. 在Qt中創建SQLite數據庫(C++)
- 27. 如何在Sqlite中創建數據庫?
- 28. 在數據庫sqlite中創建新表
- 29. 在iOS中創建Sqlite數據庫
- 30. 如何在android中更改sqlite數據庫瀏覽器中的列數據?