教程 mariadb tutorial

外键约束

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;

外键约束有助于维护数据一致性,防止孤立记录和错误引用。