更改表时的异常

时间:2015-02-22 08:16:16

标签: mysql symfony pdo

尝试更改表时,我收到以下异常:

An exception occurred while executing 'ALTER TABLE instagram_picture_tag ADD CONSTRAINT FK_67B371CDBAD26311 FOREIGN KEY (tag_id) REFERENCES instagram_tag (id) ON DELETE CASCADE':            

  SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`Shopious`.`#sql-2e38_dd33a`, CONSTRAINT `FK_67B371CDBAD26311` FOREIGN KEY (`tag_id`)   
  REFERENCES `instagram_tag` (`id`) ON DELETE CASCADE)   

我该如何解决这样的问题?我试图在已存在的现有表上添加约束,但似乎它与外键冲突

2 个答案:

答案 0 :(得分:1)

错误意味着在外键上运行的检查失败并且无法更新表,因此请检查外键

答案 1 :(得分:1)

您的instagram_picture_tag表中是否已有数据?如果是这样,您应检查tag_id列为null的所有行,或者它是否引用现有的instagram_tag。

如果您的数据没有破坏FK,请检查instagram_picture_tag.tag_id和instagram_tag.id是否具有完全相同的类型。