MySQL设置外键,外键类型RESTRICT
时间: 2025-01-21 22:27:25 浏览: 42
### 创建带 RESTRICT 约束的外键
在外键定义中使用 `RESTRICT` 可以防止级联操作的发生。当尝试删除或更新父表中的记录时,如果子表中有依赖于该记录的数据,则会抛出错误并阻止此操作。
要创建带有 `RESTRICT` 约束的外键,可以在 `CREATE TABLE` 或者 `ALTER TABLE` 命令中指定 `ON DELETE RESTRICT` 和/或 `ON UPDATE RESTRICT` 来控制对外键列的操作行为[^1]。
以下是具体语法:
#### 使用 CREATE TABLE 定义新表的同时添加外键约束
```sql
CREATE TABLE child_table (
id INT PRIMARY KEY,
parent_id INT,
name VARCHAR(50),
FOREIGN KEY (parent_id) REFERENCES parent_table(id)
ON DELETE RESTRICT
ON UPDATE RESTRICT
);
```
这段代码展示了如何在一个新的子表中设置对外部主表 ID 的引用关系,并且指定了在执行删除和更新操作时都采用限制策略[^2]。
#### 对现有表增加外键约束
对于已经存在的表格也可以利用 ALTER TABLE 添加相应的外键及其限制条件:
```sql
ALTER TABLE child_table ADD CONSTRAINT fk_parent_child
FOREIGN KEY (parent_id) REFERENCES parent_table(id)
ON DELETE RESTRICT
ON UPDATE RESTRICT;
```
这里说明了怎样向现有的 "child_table" 表追加一个名为 'fk_parent_child' 的外键关联到另一个表 'parent_table', 同样设置了对删除与修改动作施加限制的行为[^3].
阅读全文
相关推荐



















