Mysql错误1451但找不到引用id的行

标签 mysql symfony doctrine-orm cascade mysql-error-1451

我需要从 A 表中删除一行。我收到 1451 错误,这意味着约束失败。但是,当我试图找到这种关系时,却一无所获。

mysql> delete from A where id=961;
ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key 
    constraint fails (`xxx`.`B`, CONSTRAINT `FK_D273C62CBE4E457A` FOREIGN KEY 
    (`agencementDimension_id`) REFERENCES `A` (`id`))
mysql> select * from B where agencementDimension_id=961;
Empty set (0.00 sec)

约束已由 Doctrine + Symfony 2 生成。我添加了“级联删除”并更新了模式,但“数据库模式与映射文件同步”没有任何变化。

最佳答案

为了避免这个问题,在你的约束中添加 ON DELETE CASCADE

这里有一篇文章展示了如何在 symfony 学说中做到这一点

On delete cascade with doctrine2

关于Mysql错误1451但找不到引用id的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37523114/

相关文章:

php - 制作无限子类别的最佳方法是什么

php - 升级版本后Mysql查询返回空记录

mysql - 如何与实体经理一起加入 Doctrine ?

php - Symfony2 + Doctrine INSERT 查询失败且没有错误

symfony - 动态删除 JMS 序列化程序事件订阅者内的实体

mysql - 防止 mysql 查询给出多行相同的 id

php - Mysql中的"Equity"系统

symfony - PHPUnit LogicException : The request was not redirected. Symfony

php - Symfony 2.7 EntityType -> StartDateTime 和 EndDateTime 之间的 QueryBuilder 或 null

php - Symfony 4 生产模式错误处理页面内存耗尽