创建 MySQL 外键的 SQL 语句
外键介绍
外键是一种数据库约束,它将一个表中的列链接到另一个表中的主关键字。它确保了数据的完整性,并防止创建引用不存在的记录。
创建外键语句
语法:
<code>ALTER TABLE child_table ADD FOREIGN KEY (foreign_key_column) REFERENCES parent_table (parent_key_column) [ON DELETE action] [ON UPDATE action];</code>
参数说明:
child_table:要创建外键的表。 foreign_key_column:child_table 中与 parent_table 主键关联的列。 parent_table:包含外键所引用的主关键字的表。 parent_key_column:parent_table 中的主关键字列。 ON DELETE action:当 parent_table 中引用的记录被删除时的操作(可选)。可以是CASCADE(级联删除)、
SET NULL(将外键列设置为 NULL)或
RESTRICT(不允许删除)。 ON UPDATE action:当 parent_table 中引用的记录被更新时的操作(可选)。可以是
CASCADE(级联更新)、
SET NULL或
RESTRICT。
示例
创建一个名为
orders的表并为其创建外键,该外键引用
customers表中的
customer_id主键:
<code>ALTER TABLE orders ADD FOREIGN KEY (customer_id) REFERENCES customers (customer_id) ON DELETE CASCADE;</code>
此外键确保
orders表中的
customer_id列始终引用
customers表中存在的客户。如果尝试删除
customers表中引用的客户,则与该客户关联的
orders表中的记录将被级联删除。
