0

ここで何が問題なのですか?

SELECT u.id
FROM user u
LEFT JOIN group g ON g.id=u.group_id

次のエラーが返されます

#1064 - 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 'group g ON g.id=u.group_id LIMIT 0, 30' at line 3
4

3 に答える 3

3

GROUPGROUP BY句のため、SQL標準の予約語です。スタック オーバーフローでも青色で強調表示されます ;)

識別子として使用する場合はgroup、次のように引用する必要があります。

`group`

のように、テーブルの名前をより意味のあるものに変更することもできますUserGroup。それはあなたの問題も解決します。

于 2012-08-06T15:37:18.543 に答える
1

「group」はMySQLの予約キーワードです。

次のクエリでこのエラーを回避できます。

SELECT u.id
FROM user u
LEFT JOIN `group` g ON g.id=u.group_id

テーブル名として「グループ」を使用しないことをお勧めします。

于 2012-08-06T15:38:02.797 に答える
1

group は SQL のキーワードです。これを試すことができます:

SELECT u.id
FROM 'user' u
LEFT JOIN 'group' g ON u.group_id = g.id
于 2012-08-06T15:38:36.857 に答える