【发布时间】:2018-12-14 04:07:18
【问题描述】:
我一直在为我的课程作业创建一个数据库,并使用 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”之类的内容时,如果没有 ' 符号,它将无法正常工作,只会引发错误消息。
我必须始终使用 ' 符号包装它们以使查询起作用吗?
【问题讨论】:
-
您不需要转义标识符,因为它们格式正确(非关键字,无特殊字符)。大多数人觉得这是一个烦人的习惯,因为它使查询更难阅读。许多自动查询生成器沉迷于这种烦人的习惯。
-
是的,如果我是正确的,当您的名字是保留字时,您必须在编写查询时使用 ' 符号
-
除非您的名字是保留字,否则您可以忽略它们。以前有人问过这个问题。
-
一般来说,如果您询问有关引发错误的代码的问题,包括具体的错误以及在您的问题中生成错误的代码的完整示例,您会得到更好的答复。
标签: mysql sql select phpmyadmin escaping