在SQLite中使用外鍵約束需要在創建表的時候定義外鍵關系。以下是一個示例:
首先,創建兩個表,并定義一個外鍵約束將一個表的列作為另一個表的外鍵:
CREATE TABLE table1 (
id INTEGER PRIMARY KEY,
name TEXT
);
CREATE TABLE table2 (
id INTEGER PRIMARY KEY,
table1_id INTEGER,
FOREIGN KEY (table1_id) REFERENCES table1(id)
);
在上面的示例中,table2
表中的table1_id
列是table1
表的外鍵,它引用table1
表中的id
列。
然后,插入數據時,需要確保外鍵約束不會被破壞:
INSERT INTO table1 (id, name) VALUES (1, 'John');
INSERT INTO table2 (id, table1_id) VALUES (1, 1); // 這里的1是table1表中的id
如果嘗試插入一個不存在的外鍵值,將會收到錯誤消息:
INSERT INTO table2 (id, table1_id) VALUES (2, 2); // 嘗試插入一個不存在的外鍵值
-- Error: foreign key mismatch - "table2" referencing "table1"
這樣,您就可以在SQLite中使用外鍵約束。