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

标签 php mysql sql-server-2008

<分区>

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

The service was unable to retreive the results of the query. ERROR [42000] [MySQL][ODBC 3.51 Driver][mysqld-5.1.40-community]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 '"dbtmsprod02"."twe_planning" ) T WHERE 1=0' at line 1

这是我的 SQL 查询:

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

我对这个领域不熟悉,非常感谢任何帮助。

谢谢 帕布

最佳答案

默认情况下,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 保留字,则需要分隔标识符。

关于php - 用于在第 1 行的 WHERE 1=0' 附近使用正确语法的 MySQL 服务器版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18477928/

相关文章:

mysql - DOUBLE 列上的最大 auto_increment 值是多少?

sql-server-2008 - 如何在 Microsoft SQL Server 中从一种日期格式转换为另一种日期格式?

linq - SQL Server 2008 与 2005 Linq 集成

php - MySQL 在 WHERE 子句中使用 LEFT 或 SUBSTRING 来增加重复值

javascript - 如何将 JavaScript 响应添加到多个 forearch 结果

php - MySQL 查询 - 使用多个表

sql - 为什么比较在 CONVERT 中不起作用?

php - 通过foreach循环插入多个表单域的数据

php - Laravel-5 将模板渲染为字符串而不解析变量

php - PHP 计算好友数量并显示为数字