外键约束
外键约束用于保证一个表中的字段值必须在另一个表中存在,从而维护数据之间的关联关系。
启用外键支持
SQLite 默认关闭外键约束,需要通过以下命令开启:
PRAGMA foreign_keys = ON;
创建带外键的表
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 更新父表主键时,自动更新子表对应外键。
示例:
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
);
合理使用外键约束,能有效防止数据孤立和保持数据库完整性。
相关内容
- 数据库加密 本章节介绍 SQLite 数据库加密的基本概念和常用方法,帮助用户保护数据库中的敏感数据,确保数据安全。
- 全文搜索(FTS) 本章节介绍 SQLite 的全文搜索(FTS)功能,讲解如何创建全文搜索虚拟表和执行高效的文本检索,适用于搜索引擎和文本分析场景。
- 触发器 本章节介绍 SQLite 中触发器的概念与使用方法,讲解如何定义自动执行的数据库操作以保证数据完整性和实现业务逻辑。
- 自定义函数 本章节介绍如何在 SQLite 中创建和使用自定义函数,扩展 SQLite 的功能以满足特定业务需求。
- 命令行基本命令 本章节介绍 SQLite 命令行工具的基本命令,帮助用户高效管理和操作 SQLite 数据库。
- 创建/打开数据库 本章节介绍如何在 SQLite 中创建或打开数据库文件,帮助用户快速开始数据库操作。