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