在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中使用外键约束。