phpbb3 karma modに追加のクエリーを書いて、3人の他の人にカルマを与えていないうちに同じ人にカルマを与えることができないことをチェックします。しかし、私はエラーを出すMySQL "NOT IN"/"LEFT JOIN"
SELECT *
FROM phpbb_karma AS out
WHERE out.poster_id = 134
AND out.poster_id
NOT IN
(SELECT k.karma_id, k.user_id, k.poster_id
FROM phpbb_karma AS k
WHERE user_id = 108
ORDER BY k.karma_id DESC LIMIT 3)
に従ってくださいだから私の内側のクエリは3最後の人(poster_id
を取得するよう、私はルックスを書いている私はthisとthisリンクとクエリを確認...私のSQL構文で
をエラーを受信してい)彼(user_id
)がカルマを与えた。このクエリだけで動作しますが、私の外部クエリと一緒にエラーが発生します。
1064 - SQL構文に誤りがあります。右の構文を使用するため は、MySQLサーバのバージョンに対応していること取扱説明書を確認し 近い「アウトWHERE out.poster_id = 134 AND IN( k.karma_id、区を選択しないout.poster_id」行2で
私の外側のクエリでは、カルマを受け取る人は134
であり、内側のクエリ結果には存在してはいけないと書いています。
本当に2番目の行にエラーがありますか?
LEFT JOINと同じクエリを書きましたが、構文エラー
- あなたはあなたのSQL構文でエラーが発生しています。 が近く を使用する権利構文についてはMySQLサーバのバージョンに対応していること取扱説明書を確認し「左からphpbb_karmaのJOIN ASでON in.poster_id = out.poster_id WHERE in.poster_」行で2SELECT * FROM phpbb_karma AS out LEFT JOIN phpbb_karma AS in ON in.poster_id = out.poster_id WHERE in.poster_id = 134 AND in.poster_id IS NULL
のMySQLバージョンはMySQL client version: mysqlnd 5.0.7-dev - 091210 - $Revision: 304625 $
ですが、LEFT JOINはどちらも動作しないため、問題はバージョンにあるとは思わない
ありがとうございます。私は最初の返信を受け入れました – Skyzer