gpt4 book ai didi

mysql - MySQL 和引号的问题

转载 作者:行者123 更新时间:2023-11-29 07:55:44 25 4
gpt4 key购买 nike

我有一个非常简单的查询:

SELECT * FROM "orders" WHERE "printer_id" = 'AC001' AND "sent" = '0'

它抛出以下错误:

#1064 - 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 '"orders" WHERE "printer_id" = 'AC001' AND "sent" = '0' at line 1

从列名中删除“”就可以了!如果有帮助的话,我正在使用 Medoo ( http://medoo.in/ ) 作为我的数据库框架。

最佳答案

仅当 SQL_MODE 设置包含 ANSI_QUOTES 时,才使用标识符周围的双引号。

默认标识符引号字符是反引号字符。

<小时/>

MySQL 返回语法错误,因为它将“orders”视为字符串文字,而它需要标识符(表名称)。

<小时/>

其中任何一个都应该可以解决该问题:

保留标识符不带引号:

SELECT * FROM  orders  WHERE  printer_id  = 'AC001' AND  sent  = '0'

使用反引号将标识符括起来

SELECT * FROM `orders` WHERE `printer_id` = 'AC001' AND `sent` = '0'

或者(我不推荐这样做,但这是另一种方法......

更改 SQL_MODE 的设置以包含 ANSI_QUOTES 选项,并使用双引号作为标识符转义字符,就像在原始语句中一样。

关于mysql - MySQL 和引号的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25214230/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com