MySQL服务器版本,用于在第1行的WHERE 1 = 0'附近使用正确的语法

时间:2013-08-28 01:19:23

标签: php mysql sql-server-2008

我正在尝试使用MySQL 5.2 ODBC驱动程序连接到mySQL数据库,测试连接并且它成功但是当我在数据库表上运行select查询时出现以下错误 -

  

该服务无法检索查询结果。错误[42000] [MySQL] [ODBC 3.51驱动程序] [mysqld-5.1.40-community]您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在'“dbtmsprod02”附近使用正确的语法。“twe_planning”)T在第1行1 = 0'

这是我的SQL查询:

Select "plan_id", "plan_desc", "plan_status" From "dbtmsprod02"."twe_planning" 

我对这个领域很新,任何帮助都会受到高度赞赏。

由于 帕布

1 个答案:

答案 0 :(得分:3)

默认情况下,MySQL是非标准的,因为它使用双引号作为字符串分隔符(与单引号相同)。标准SQL使用双引号作为表和列标识符的分隔符。

您可以使用SQL mode使MySQL符合ANSI SQL:

SET SQL_MODE=ANSI_QUOTES

或者你可以使用MySQL的默认标识符分隔符,反斜杠:

Select `plan_id`, `plan_desc`, `plan_status` From `dbtmsprod02`.`twe_planning`

或者您可以取出引号,因为您的标识符都不需要它们。如果您的标识符包含特殊字符,空格或SQL保留字,则需要使用分隔标识符。