You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near [random snippet of query code]
我很少能从MySQL错误中推断出某些有价值的东西,有没有办法获得更具体的数据呢?
我见过人们不理会这个问题,因为MySQL的语法是如何工作的,所以无法获得确切的错误数据。真的是这样吗?
答案 0 :(得分:3)
不仅MySQL提供类似语法错误,MS SQL Server提供非常相似的消息。
错误消息非常准确,因为错误消息中显示的代码是解析器确定它不再继续解析查询的确切位置。
但是,查询中的实际错误通常在查询中稍早。如果您在查询中将拼写错误的“from”作为“fom”,则解析器将继续认为“fom”是之前的最后一个字段的别名,并在找到表名时给出语法错误而不是预期的逗号或“from”关键字。它将表名称指向错误的位置而不是拼写错误的关键字。
答案 1 :(得分:1)
有时将查询细分为多行而不只是一行。这仍然只会显示错误的大致位置,但可能会有所帮助。