mysql怎么设置外键-mysql教程
如何在 MySQL 中设置外键
外键是一种数据库约束,它强制执行数据完整性,确保子表中的记录在父表中都有对应的记录。在 MySQL 中设置外键非常简单。
步骤:
-
创建外键约束:
使用 ALTER TABLE 语句,并在子表的列定义中添加 FOREIGN KEY 约束。语法如下:
ALTER TABLE 子表名 ADD FOREIGN KEY (列名) REFERENCES 父表名 (列名)
登录后复制例如:
ALTER TABLE 订单 ADD FOREIGN KEY (客户ID) REFERENCES 客户 (客户ID)
登录后复制 -
指定联接规则(可选):
ON DELETE 和 ON UPDATE 子句指定当父表中被引用的记录发生更改或删除时,子表中应该做什么。
- ON DELETE CASCADE:当父记录被删除时,也级联删除子记录。
- ON DELETE SET NULL:当父记录被删除时,将子记录中的外键列设置为 NULL。
- ON UPDATE CASCADE:当父记录被更新时,也级联更新子记录中的外键列。
- ON UPDATE SET NULL:当父记录被更新时,将子记录中的外键列设置为 NULL。
例如:
ALTER TABLE 订单 ADD FOREIGN KEY (客户ID) REFERENCES 客户 (客户ID) ON DELETE CASCADE
登录后复制
需要注意的事项:
- 父表和子表的列数据类型必须兼容。
- 父表中的列必须是唯一索引或主键。
- 不能删除或更新包含外键约束的列,除非先删除或更新引用它的记录。
- 如果外键约束被删除,则数据完整性不再得到保证。