1

这是声明:

SELECT order.order_id, order.member_id, order.date_ordered, coupon.coupon_name, coupon.coupon_type, coupon.coupon_amount
FROM order
LEFT JOIN coupon
ON order.coupon_id = coupon.coupon_id

这是 MySQL 错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order LEFT JOIN coupon ON order.coupon_id = coupon.coupon_id' at line 2

两个表都有一个coupon_id. 我只是不明白我做错了什么?

4

4 回答 4

4

order是一个保留字,你应该转义它:

SELECT `order`.order_id, `order`.member_id, `order`.date_ordered, 
        coupon.coupon_name, coupon.coupon_type, coupon.coupon_amount
FROM `order`
LEFT JOIN coupon
ON `order`.coupon_id = coupon.coupon_id
于 2012-12-03T19:21:12.407 回答
2

order 是保留字。你需要“逃离”它。

对于 MySQL,您可以使用反引号 (`) 来转义列名,尤其是当它恰好与保留字相同时。

SELECT * FROM `order`

顺便说一句,SQL Server 使用方括号 [] 来转义列名。

SELECT * FROM [order]
于 2012-12-03T19:21:12.093 回答
2

订单是一个保留字。

将其放在反引号中或将您的表格命名为其他名称。

于 2012-12-03T19:21:29.120 回答
0

order是保留关键字。您需要将其指定为

`order` 

让您的查询工作

于 2012-12-03T19:33:55.380 回答