Possible Duplicate:
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 生成的插入数据库的查询进行比较后,我注意到字段名称中的撇号实际上是 ` 与 tilda (~) 相同的键上的符号。
这两个符号有什么区别?哪里应该使用 ` 而不是 '(撇号)。
提前致谢。
(我还注意到,如果我将值列表中的 '' 更改为 `,我会收到一条错误消息,提示未知列 'valuename',这让我相信它仅适用于列列表,但是我在哪里可以找到更多信息信息?)
再次感谢
最佳答案
反引号`
引用identifiers例如表名和列名。引用标识符通常是可选的,但如果名称包含特殊字符(例如空格)或名称是保留字(例如 desc
),则有必要。
SELECT id, `desc` FROM yourtable
单引号'
分隔字符串文字。
SELECT * FROM yourtable WHERE name = 'Foo'
关于mysql - ` vs ' mysql 查询 - 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12706041/