0

可能重复:
在字段名称周围使用反引号
反引号和单引号有什么区别?我可以在上面的查询中使用 IF 语句吗?

我只是花了很长时间弄清楚我有 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 (~) 相同的键上的符号。

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

提前致谢。

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

再次感谢

4

1 回答 1

2

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

SELECT id, `desc` FROM yourtable

单引号'分隔字符串文字

SELECT * FROM yourtable WHERE name = 'Foo'
于 2012-10-03T09:56:41.223 回答