主题
外键约束
外键约束用于保证一个表中的字段值必须在另一个表中存在,从而维护数据之间的关联关系。
启用外键支持
SQLite 默认关闭外键约束,需要通过以下命令开启:
sql
PRAGMA foreign_keys = ON;创建带外键的表
sql
CREATE TABLE orders (
id INTEGER PRIMARY KEY,
user_id INTEGER,
order_date TEXT,
FOREIGN KEY (user_id) REFERENCES users(id)
);以上示例中,orders 表的 user_id 必须对应 users 表中已存在的 id。
外键约束操作
ON DELETE CASCADE 删除父表记录时,同时删除子表相关记录。
ON UPDATE CASCADE 更新父表主键时,自动更新子表对应外键。
示例:
sql
CREATE TABLE orders (
id INTEGER PRIMARY KEY,
user_id INTEGER,
order_date TEXT,
FOREIGN KEY (user_id) REFERENCES users(id)
ON DELETE CASCADE
ON UPDATE CASCADE
);合理使用外键约束,能有效防止数据孤立和保持数据库完整性。