1

我在试图找出这个语法错误时遇到问题。下面是 SQL 查询:

SQL查询

SELECT oh.date_modified, oh.physicianNote, os.name AS status
FROM order oh 
LEFT JOIN order_status os ON oh.order_status_id = os.order_status_id
WHERE oh.order_id = '118' AND os.language_id = '1'
ORDER BY oh.date_added ASC LIMIT 0,10

SQL 错误

1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 2 行的“order oh LEFT JOIN order_status os ON oh.order_status_id = os.order_status_i”附近使用正确的语法

不太确定它有什么问题。

4

2 回答 2

7

ORDER是一个保留字。用反引号引用它:

SELECT   oh.date_modified, oh.physicianNote, os.name AS status
FROM     `order` oh LEFT JOIN order_status os USING (order_status_id)
WHERE    oh.order_id = '118' AND os.language_id = '1'
ORDER BY oh.date_added
LIMIT    0,10
于 2012-09-14T15:39:47.020 回答
1

“ORDER”是保留字。这是错误。在反引号中使用单词顺序引用

于 2012-09-14T15:40:18.703 回答