`vs'mysql查询 - 有什么区别

时间:2012-10-03 09:55:35

标签: mysql phpmyadmin

  

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

我花了很长时间搞清楚一个问题,我有一个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生成的查询进行比较,以便插入到db中,我注意到字段名称中的撇号实际上是与tilda(〜)相同的键上的符号。

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

提前致谢。

(我也注意到,如果我在值列表中将''更改为`,我会收到一条错误消息,说明未知的匹配' valuename'这让我相信它只是列列表,但我在哪里可以找到更多信息?)

再次感谢

1 个答案:

答案 0 :(得分:2)

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

SELECT id, `desc` FROM yourtable

单引号'分隔字符串文字

SELECT * FROM yourtable WHERE name = 'Foo'