我正在执行一个类似于MySQL查询的操作:
Select * from "User";
然后它返回:
您的SQL语法有误,请检查与您的MySQL服务器版本相对应的手册,以了解正确使用语法的方法,在1行附近的位置“User”
这个错误与双引号"
有关,我能保持选择语句不变,并让mysql处理双引号吗?
我正在执行一个类似于MySQL查询的操作:
Select * from "User";
然后它返回:
您的SQL语法有误,请检查与您的MySQL服务器版本相对应的手册,以了解正确使用语法的方法,在1行附近的位置“User”
这个错误与双引号"
有关,我能保持选择语句不变,并让mysql处理双引号吗?
以下内容摘自这篇帖子:
SET GLOBAL SQL_MODE=ANSI_QUOTES;
就我个人的测试经验而言,我必须这样做:
SET SQL_MODE=ANSI_QUOTES;
我认为没有其他的方法。
http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html#sqlmode_ansi_quotes
ANSI_QUOTES
将“"”视为标识符引用字符(类似于“`”引用字符),而不是字符串引号字符。启用此模式后,仍可以使用“`”引用标识符。如果启用了 ANSI_QUOTES,则不能使用双引号引用文字字符串,因为它被解释为标识符。
GLOBAL
这个似乎没有起到任何作用。 - Wesley MurchSET SESSION SQL_MODE=ANSI_QUOTES;
是另一种可能更合理的方法。请参阅:http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html。正如我所说,我不是SQL专家,因此您可能需要研究任何副作用、注意事项等。 - Wesley Murch