不确定我是否总是遇到此问题,或者如果它是新的,在sql选项卡中的phpmyadmin中,它识别的撇号与我键入的不同,例如,
当我输入时,它是
SELECT * FROM 'table'
这给了我一个错误,所以我不得不复制/粘贴一些预建查询的引号,以便它看起来像
SELECT * FROM `table`
看撇号是如何不同的?我能解决这个问题吗?
另外,我在网上看到了很多查询,我认为即使我从php调用的查询也不需要表名有撇号。但是当在phpmyadmin中编写它时,我可以在没有带撇号的表名的情况下进行查询吗?
提前感谢。
答案 0 :(得分:6)
在MYSQL中,table
是保留关键字。如果你想在查询中使用mysql中的保留关键字,你必须将它们用反引号(`)括起来。
由于table
是保留关键字,您查询 应为
SELECT * FROM `table`
关于单引号('),在mysql中,它表示字符串值。
SELECT *, 'table' FROM `table`;
答案 1 :(得分:2)
您只需要在与保留字冲突时引用表名。
此外:
` = Grave accent, or (because someone needed to invent a word) backtick
' = Apostrophe, or straight single quote
答案 2 :(得分:1)
你不需要在表名上使用撇号。
答案 3 :(得分:1)
如果您的表/字段名称是保留字,则应使用`,例如:
SELECT `distinct`, myfields FROM mytable
请注意,distinct是一个sql命令,所以你需要把`。
SELECT * FROM `table`
table
这里应该在`。
答案 4 :(得分:0)
有两个不同的字符,反引号和单引号。表和列名称可以用反引号包围,字符串可以用引号括起来。没有办法解决:D