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

标签 mysql phpmyadmin

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/

相关文章:

java - MYSQL在linux平台不返回结果,在windows下

php - 对数据库中的表进行分组

尝试访问 phpmyadmin mb_detect_encoding 时出现 PHP fatal error

mysql - 突然无法访问phpmyadmin上的数据库

php - 将 php 数组数据插入 mysql 不起作用

java - Hibernate 将 NULL 插入原始类型字段

php - Mysql PHP 循环

php - 如何将 mysqli_fetch_assoc 行传递到其他页面

php - 通过单击链接访问用户配置文件

mysql - 使用不同表的计数进行计划和更新