推荐答案
ALTER TABLE 子表名称 ADD CONSTRAINT 外键名称 FOREIGN KEY (子表外键列) REFERENCES 主表名称(主表主键列);
本题详细解读
外键约束的作用
外键约束用于确保两个表之间的数据一致性。它通过将一个表中的列(外键)与另一个表中的主键或唯一键关联起来,确保子表中的外键值必须存在于主表的主键或唯一键中。
语法解析
ALTER TABLE 子表名称
:指定需要添加外键约束的子表。ADD CONSTRAINT 外键名称
:为外键约束命名,便于后续管理。FOREIGN KEY (子表外键列)
:指定子表中的外键列。REFERENCES 主表名称(主表主键列)
:指定主表及其主键列,外键列将与之关联。
示例
假设有两个表:Orders
(订单表)和 Customers
(客户表),我们希望确保每个订单都关联到一个有效的客户。
ALTER TABLE Orders ADD CONSTRAINT fk_customer FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID);
在这个例子中:
Orders
是子表,Customers
是主表。CustomerID
是Orders
表中的外键列,同时也是Customers
表中的主键列。fk_customer
是外键约束的名称。
注意事项
- 数据类型一致:外键列和主键列的数据类型必须一致。
- 主键或唯一键:被引用的列必须是主键或唯一键。
- 数据一致性:在添加外键约束之前,确保子表中的外键列值已经存在于主表的主键列中,否则会报错。
- 删除和更新规则:可以通过
ON DELETE
和ON UPDATE
子句指定在主表中删除或更新记录时的行为,例如CASCADE
、SET NULL
等。