为什么这个Mysql查询不起作用

时间:2012-04-20 23:35:46

标签: php mysql

下面的查询正在给我打电话。这是简单的查询,但在where子句中给出错误。

我正试图让订单从订单表中延迟。

SELECT * FROM orders where delayed='Y'

这里有什么问题?

4 个答案:

答案 0 :(得分:6)

mysql中的

DELAYED reserved word。将它作为列名

包含在反引号(`)中

尝试以下:

SELECT * FROM orders WHERE `delayed`='Y'

答案 1 :(得分:2)

DELAYED是MySQL关键字(如INSERT DELAYED中所示),因此您需要在反引号中包含“延迟”列:

SELECT * FROM orders where `delayed`='Y'

请注意,这些是反叛,而不是撇号。

答案 2 :(得分:1)

试试这个:

SELECT * FROM orders where `delayed`='Y'

答案 3 :(得分:1)

虽然反引号选项有效,并且也适用于带空格的字段名称,但我认为最好避免使用 if 这样的表名。不是因为反叛本身,它们是无害的,但是因为惯例。保留字不能用作标识符,因为......它们是保留的!

干杯!