MySQL中的外键(Foreign Key)是一种数据库约束,用于建立两个表之间的链接。外键约束确保一个表中的数据与另一个表中的数据保持一致性和完整性。外键列的值必须是另一个表的主键列的值,或者是NULL。
外键常用于以下场景:
假设我们有两个表:orders
和order_items
,我们希望在order_items
表中添加一个外键约束,引用orders
表的主键。
-- 创建orders表
CREATE TABLE orders (
order_id INT PRIMARY KEY AUTO_INCREMENT,
customer_name VARCHAR(255) NOT NULL
) ENGINE=InnoDB;
-- 创建order_items表
CREATE TABLE order_items (
item_id INT PRIMARY KEY AUTO_INCREMENT,
order_id INT,
product_name VARCHAR(255) NOT NULL,
FOREIGN KEY (order_id) REFERENCES orders(order_id) ON DELETE CASCADE
) ENGINE=InnoDB;
通过以上步骤和示例代码,你应该能够解决MySQL不能添加外键的问题。如果问题仍然存在,请检查具体的错误信息,并根据错误信息进行进一步的排查。
领取专属 10元无门槛券
手把手带您无忧上云