为什么我所有的sql查询都必须用符号 Package ?

pgky5nke  于 2021-06-20  发布在  Mysql
关注(0)|答案(2)|浏览(298)

我一直在为我的课程制作一个数据库,并使用phpmyadmin来构建它。现在我正在使用查询工具处理查询。
当我选择要查询的表和数据并按“更新查询”时,它将生成如下所示的查询:

SELECT `Customer`.`CustomerName`, `OrderDetails`.`Product`, `OrderDetails`.`QuantityOrdered`
FROM `Customer`
LEFT JOIN `Order` ON `Order`.`Customer` = `Customer`.`CustomerID`
LEFT JOIN `OrderDetails` ON `OrderDetails`.`Order` = `Order`.`OrderID`

这工作很好,给我的结果,我期待。但是,当我尝试编写自己的查询并输入类似于“select customer.customername”的内容时,如果没有“select customer.customername”符号,它将不起作用,只会抛出一条错误消息。
我必须总是用'符号 Package 它们才能使查询工作吗?

olmpazwi

olmpazwi1#

除了视觉上的噩梦和创建可怕的表名的能力之外,反勾号是完全没有必要的。但是,您需要将任何变量用单引号括起来。
从下面的示例中可以看出,phpmyadmin不需要使用backticks;

删除反记号时它不起作用的原因是因为有一个名为“order”的列。order是sql中的一个关键字,因此如果不使用引号或反引号,就不能用作列名。

zaq34kh6

zaq34kh62#

在mysql中,前引号用于转义对象名。您不必使用它们,除非您使用的名称不是有效的标识符—在本例中是表名 order 是保留字,必须转义。您使用的所有其他表和列似乎都正常。

相关问题