我想将外键添加到现有表questions
中,其中包含1000个不同类别的问题。但是当我试图添加外键mysql抛出错误时如下。
#1452 - Cannot add or update a child row: a foreign key constraint fails (
question_bank .
#SQL-af8_1d0 , CONSTRAINT
CAT_ID FOREIGN KEY (
CAT_ID ) REFERENCES
db_category (
CAT_ID ) ON DELETE NO ACTION ON UPDATE NO ACTION)
答案 0 :(得分:3)
在添加外键之前,您应该确保它符合实际数据。
错误很简单,questions
表上有一些行,cat_id
上有错误值
只需删除这些行,或创建新类别。您可以使用以下方法检查有问题的行:
SELECT * FROM questions WHERE cat_id NOT IN (SELECT cat_id from category)
答案 1 :(得分:1)
您无法向该表添加foreign key
,因为您必须首先检查primary key
表的record exists
值是否与foreign key
表相同。
根据{{1}}值和primary column
列值。