主题
外键约束
1. 什么是外键约束
外键(Foreign Key)用于在两个表之间建立关联,保证引用的完整性。外键字段的值必须在被引用表的主键或唯一键中存在。
2. 创建外键约束
创建表时定义外键:
sql
CREATE TABLE orders (
order_id INT PRIMARY KEY,
user_id INT,
FOREIGN KEY (user_id) REFERENCES users(id)
);
修改已有表添加外键:
sql
ALTER TABLE orders
ADD CONSTRAINT fk_user
FOREIGN KEY (user_id) REFERENCES users(id);
3. 外键约束的选项
ON DELETE
:指定当被引用数据被删除时的行为,如CASCADE
(级联删除)、SET NULL
(设置为 NULL)等。ON UPDATE
:指定当被引用数据被更新时的行为。
示例:
sql
ALTER TABLE orders
ADD CONSTRAINT fk_user
FOREIGN KEY (user_id) REFERENCES users(id)
ON DELETE CASCADE
ON UPDATE CASCADE;
4. 删除外键约束
先查看外键名称:
sql
SHOW CREATE TABLE orders;
然后删除外键:
sql
ALTER TABLE orders
DROP FOREIGN KEY fk_user;
外键约束有助于维护数据一致性,防止孤立记录和错误引用。