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 CASCADEON UPDATE CASCADE)可按需添加,用于同步删除或更新关联表数据。
  • 去除外键时需指明外键名,同时需要注意级联规则的失效。