3

在完成问题之前,我的具体问题已解决。但我还有一个普遍的问题。它可能是重复的,但很抱歉我无法在 SO 或其他地方找到它。

我有一张名为reports. 有一行包含数据。当我尝试执行更新查询时,出现错误:

错误 1064:第 1 行的 'table='defect',Filter='',dtFilter='',query='Select allfields from defect' ,'da' 附近的 sql 语法有错误

我的问题:有没有办法得到我的具体错误?因为它只是告诉 SQL 语法中存在错误,但没有说明错误是什么类型。

我是否总是需要在谷歌上搜索此类错误,或者是否有一些技术可以在本地获取它们的确切具体描述?

背景(可选阅读):正常谷歌搜索后,我在发布问题以更好地谷歌搜索时得到提示,并解决了我的具体问题,因为我知道这是保留词的问题table and datetime。当我在这些词周围加上引号时,问题就解决了。这通常发生在我身上。但我的一般问题仍然存在......

我现在没用了,但我在 sqlfiddle 上分享我的架构,它可能有用

4

2 回答 2

2

MySQL 不能告诉你你在错误的地方使用了保留字(或者你的地方是正确的但使用的词是保留字,它无法区分),它只看到你输入的内容,它不能读心,所以它不知道你不小心使用(比如说) order 作为字段名,它只会在错误的地方看到查询的有效部分。例如......语法错误。它也不会报告查询中的所有语法错误,因为一个语法错误会使整个事情出错。它不能跳过一个单词并继续解析。

于 2012-09-20T21:54:58.790 回答
1

不——它只是告诉你位置,希望这是一个不错的线索。

于 2012-09-20T21:23:40.903 回答