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