在MySQL数据库中,添加外键和删除外键的操作对维护数据完整性至关重要。以下是具体步骤:
1. 添加外键约束(在创建表时)
在创建表的同时添加外键约束的语法如下:
CREATE TABLE temp (
id INT,
name CHAR(20),
FOREIGN KEY (id) REFERENCES outTable(id)
ON DELETE CASCADE ON UPDATE CASCADE
);
- ON DELETE CASCADE: 表示删除
outTable
中的记录时,会同步删除关联表中的记录。 - ON UPDATE CASCADE: 表示更新
outTable
中的记录时,会同步更新关联表中的记录。
2. 添加外键约束(在表已创建后)
如果表已经创建,可以通过ALTER TABLE
语句来添加外键约束:
ALTER TABLE shop_xs
ADD CONSTRAINT xs_jb FOREIGN KEY (id) REFERENCES shop_jb(id);
或者:
ALTER TABLE `userinfo`
ADD CONSTRAINT `FK_user` FOREIGN KEY (`u_no`) REFERENCES `userinrole` (`u_no`)
ON DELETE CASCADE ON UPDATE CASCADE;
3. 去除外键约束
使用以下语法来去除表中的外键约束:
ALTER TABLE 表名 DROP FOREIGN KEY 外键名;
注意:移除外键后,级联操作也会失效。
总结
- 添加外键时可选择直接在创建表中指定,或在表创建后通过
ALTER TABLE
语句添加。 - 级联操作(ON DELETE CASCADE、ON UPDATE CASCADE)可按需添加,用于同步删除或更新关联表数据。
- 去除外键时需指明外键名,同时需要注意级联规则的失效。