gpt4 book ai didi

mysql - 识别 MySQL "Integrity constraint violation"(1022) 消息中的错误外键

转载 作者:行者123 更新时间:2023-11-29 09:37:56 26 4
gpt4 key购买 nike

有没有办法获得 MySQL 中外键违规的更好调试信息?

我正在使用 Phinx 进行数据库迁移,并且正在处理连续的多个约束和如下异常消息:

Integrity constraint violation: 1022 Can't write; duplicate key in table '#sql-1b8c_4534' in […]

由于缺少外键名称和临时表名称,这个问题被掩盖了。有没有办法切换到更详细的模式或其他模式?

扩展堆栈跟踪也会有所帮助,因为现在它看起来像这样,带有截断的查询:

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[…]

最佳答案

您可以通过以 root 身份在 MySQL 中运行“show engine innodb status”来至少找出哪个表发生了错误。它将显示如下内容:

------------------------
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 - 识别 MySQL "Integrity constraint violation"(1022) 消息中的错误外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57208912/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com