识别 MySQL "Integrity constraint violation" (1022) 条消息中的错误外键
Identify faulty foreign-key in MySQL "Integrity constraint violation" (1022) messages
有没有办法在 MySQL 中获得更好的外键违规调试信息?
我正在使用 Phinx 进行数据库迁移,我正在处理连续的多个约束和如下异常消息:
Integrity constraint violation: 1022 Can't write; duplicate key in table '#sql-1b8c_4534' in […]
此问题因缺少外键名称和临时 table 名称而变得模糊不清。有没有办法切换到更详细的模式或其他方式?
扩展堆栈跟踪也会有所帮助,因为现在它看起来像这样,带有截断的查询:
Stack trace:
#0 /home/user/work/project/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/PdoAdapter.php(167): PDO->exec('ALTER TABLE `us...')
#1 /home/user/w[…]
你至少可以找出table 错误发生在运行 "show engine innodb status" 在MySQL 中作为root。它会显示类似:
------------------------
LATEST FOREIGN KEY ERROR
------------------------
2018-02-13 11:12:26 0x70000b776000 Error in foreign key constraint of table table/#sql-7fa_247a:
foreign key (`my_foreing_key`) references `table` (`id`)
on delete cascade:
Cannot resolve table name close to:
(`id`)
on delete cascade
(例子来自here)
有没有办法在 MySQL 中获得更好的外键违规调试信息?
我正在使用 Phinx 进行数据库迁移,我正在处理连续的多个约束和如下异常消息:
Integrity constraint violation: 1022 Can't write; duplicate key in table '#sql-1b8c_4534' in […]
此问题因缺少外键名称和临时 table 名称而变得模糊不清。有没有办法切换到更详细的模式或其他方式?
扩展堆栈跟踪也会有所帮助,因为现在它看起来像这样,带有截断的查询:
Stack trace:
#0 /home/user/work/project/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/PdoAdapter.php(167): PDO->exec('ALTER TABLE `us...')
#1 /home/user/w[…]
你至少可以找出table 错误发生在运行 "show engine innodb status" 在MySQL 中作为root。它会显示类似:
------------------------
LATEST FOREIGN KEY ERROR
------------------------
2018-02-13 11:12:26 0x70000b776000 Error in foreign key constraint of table table/#sql-7fa_247a:
foreign key (`my_foreing_key`) references `table` (`id`)
on delete cascade:
Cannot resolve table name close to:
(`id`)
on delete cascade
(例子来自here)