【发布时间】:2012-09-11 09:20:04
【问题描述】:
有没有办法让 MySQL 告诉在一个充满子查询的巨大自动生成查询中哪个子查询给出了上述错误?如果没有,您的调试策略是什么?
【问题讨论】:
-
分而治之:从巨大的子查询中注释掉一半并运行。看看有没有错误。如果没有错误,删除 cmets 并注释掉另一半。如果错误仍然存在,则从一半的子查询中删除 cmets
-
@bpgergo:这对我来说似乎很脆弱。用常量值替换子查询(我认为这就是注释掉的意思)可能会导致某些连接不匹配,并且未注释掉的部分被优化掉;或者有问题的子查询可能与通过注释更改的值相关。因此,即使在注释掉某些内容后错误消失了,我也无法确定错误在哪里。
-
是的,关于 WHERE 子句中的子查询,您是对的。出于某种原因,我认为子查询在 FROM 子句中。
标签: mysql debugging mysql-error-1242