繁体   English   中英

无法在sql中添加foregin密钥

[英]Unable to add foregin key in sql

我想在表中添加一个外键约束,我收到此错误消息:

1452 - 无法添加或更新子行:外键约束失败t。#sql-156c_26f,CONSTRAINT fk_gt_sub FOREIGN KEY(package_category_id)REFERENCES gt_main(category_id))

查询:

ALTER TABLE gt_sub ADD CONSTRAINT fk_gt_sub FOREIGN KEY (package_category_id) REFERENCES gt_main(category_id)

这是因为表gt_subcategory_id gt_main另一个表gt_main中不存在。

创建要添加的外键是为了防止插入这些类型的行,这就是无法创建外键的原因。

您可以查询这些行,然后将其删除以解决问题:

SELECT *
FROM gt_sub
WHERE package_category_id NOT IN(SELECT category_id from gt_main)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM