【问题标题】:` vs ' mysql Query - What is the difference [duplicate]` vs ' mysql Query - 有什么区别[重复]
【发布时间】:2012-09-24 05:40:17
【问题描述】:

可能重复:
Using backticks around field names
What are the differences between backtick and single quote? Can I use IF statement in a query as above?

我只是花了很长时间弄清楚我有一个 qith sql 查询的问题,我想要更多信息,因为我似乎无法在其他地方找到有关该主题的任何信息。

我有一个问题

INSERT INTO prep_items ('id' ,'description' ,'price' ,'gst' ,'job' ,'stores' ,'item_number' ,'decimal') 
VALUES ('NULL', 'TESTPRODUCT', '22.99', '1', 'PK', 'AB', '666', '1'
);

但是,这会一直返回查询的语法错误。在绞尽脑汁将查询与 phpmyadmin 生成的插入数据库的查询进行比较后,我注意到字段名称中的撇号实际上是与 tilda (~) 相同的键上的符号。

这两个符号有什么区别?以及应该在哪里使用 ` 而不是 '(撇号)。

提前致谢。

(我还注意到,如果我将值列表中的 ''s 更改为 `,我会收到一条错误消息,提示 unknown collumn 'valuename' 这让我相信它仅适用于列列表,但我在哪里可以找到更多信息?)

再次感谢

【问题讨论】:

  • 只有当你知道它被称为反引号时。干杯。
  • 您已经在这个网站上找到了更多信息,但是您可以在 MySQL 手册中找到所有信息。

标签: mysql phpmyadmin


【解决方案1】:

反引号` 引用identifiers,例如表名和列名。引用标识符通常是可选的,但如果名称包含特殊字符(例如空格)或名称是保留字(例如desc),则必须这样做。

SELECT id, `desc` FROM yourtable

单引号' 分隔字符串字面量

SELECT * FROM yourtable WHERE name = 'Foo'

【讨论】:

  • 使用反引号-反引号-空格-反引号 ;-)
  • 这就解释了!在我的 sql 表中添加了一个名为“十进制”的新列。以前我没有任何反勾号,一切正常,然后一切都停止工作......完美的回应。再次感谢。事实证明 'decimal' 是 MySql 的保留字!
猜你喜欢
  • 2011-05-23
  • 2011-11-18
  • 1970-01-01
  • 2011-09-28
  • 2014-07-26
  • 2014-05-20
  • 2014-11-08
  • 1970-01-01
相关资源
最近更新 更多