如何为MySql中与受保护关键字共享同名的表编写SQL?

Zig*_*ive -3 php mysql

以下查询将不会执行

mysql_query("SELECT * FROM order WHERE orderID = 102;");
Run Code Online (Sandbox Code Playgroud)

它会产生以下错误消息:

您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便在第2行的'order WHERE orderID = 102'附近使用正确的语法

如何编写将成功查询此表的SQL?

xQb*_*ert 7

订单是保留字.不要将保留字用作表或字段名称; 或者将它包装在转义字符中,例如`for mysql.就个人而言,我只是避免使用它们,因为从长远来看,它们通常会导致更多的头痛.

例:

mysql_query("SELECT * FROM `order` WHERE orderID = 102;");
Run Code Online (Sandbox Code Playgroud)

更多信息 - 您可以在这里获得有关保留字的更多信息https://dev.mysql.com/doc/refman/5.5/en/keywords.html

  • @BilltheLizard你可以使用它,你只需要使用反勾`来转义它。 (2认同)