大家好我基本上我试图从名为bar的sql表中删除一条记录,名为bar的数据库的结构如下:
当我运行以下查询时,它可以工作:
mysql_query("DELETE from bar where server_name = 'Jesus' LIMIT 1");
它从表中删除一组数据
然而,当下面显示的是不起作用的查询时没有意义:
mysql_query("DELETE from bar where order = 'diet pepsi' LIMIT 1");
不起作用。伙计我真的需要帮助,所以任何帮助将不胜感激。感谢
答案 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