1
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 的语法如何工作,不可能获得准确的错误数据。真的是这样吗?

4

2 回答 2

2

不仅 MySQL 会给出这样的语法错误,MS SQL Server 也会给出非常相似的消息。

错误消息非常准确,因为错误消息中显示的代码正是解析器确定无法继续解析查询的确切位置。

但是,查询中的实际错误通常在查询中稍早一些。例如,如果您在查询中将“from”拼错为“fom”,解析器将继续认为“fom”是之前出现的最后一个字段的别名,并在找到表名时给您一个语法错误而不是预期的逗号或“from”关键字。它将指向表名作为错误的位置,而不是拼写错误的关键字。

于 2012-10-29T00:21:25.253 回答
1

有时它有助于将您的查询分解成几行而不是一长行。这仍将仅向您显示错误的大致位置,但它可能会有所帮助。

于 2012-10-29T00:13:49.833 回答