mysql删除不适用于一个scenerio

时间:2018-06-07 21:17:02

标签: php mysql

大家好我基本上我试图从名为bar的sql表中删除一条记录,名为bar的数据库的结构如下: The database has been shown in the image

当我运行以下查询时,它可以工作:

mysql_query("DELETE from bar where server_name = 'Jesus' LIMIT 1"); 

它从表中删除一组数据

然而,当下面显示的是不起作用的查询时没有意义:

mysql_query("DELETE from bar where order = 'diet pepsi' LIMIT 1");

不起作用。伙计我真的需要帮助,所以任何帮助将不胜感激。感谢

4 个答案:

答案 0 :(得分:2)

ORDER是mysql中的保留字(在ORDER BY中考虑)。您必须更改该字段的名称。

答案 1 :(得分:0)

您需要在后面的刻度中包含保留字。由于mysql为order by语句保留了order,所以你需要写:

WHERE `order` = 'diet pepsi'

通常最好将所有列名包装在后面的刻度中,以避免出现问题。

答案 2 :(得分:0)

你可以继续做

mysql_query("DELETE from bar where bar.order = 'diet pepsi' LIMIT 1");

如果它抱怨"命令"请使用tableName.column;保留字。如果你不想使用反引号。

答案 3 :(得分:0)

ORDER是用于在MySQL中对结果集进行排序的保留关键字。如果您不能(或不想)更改字段的名称,请尝试使用反引号转义它。

您可以尝试:

DELETE from bar where `order` = 'diet pepsi' LIMIT 1

或者

DELETE from bar where bar.order = 'diet pepsi' LIMIT 1