0
次のクエリがあり、クエリの条件がWHERE
でない受信者IDのランダム通知エントリが作成されることがあります。ランダムな挿入の原因となるクエリのWHERE
部分に何が問題になっていますか?MySQL Coalesceクエリでランダム挿入が発生していますか?
INSERT INTO
notification (text,
type,
target_id,
sender_id,
recipient_id,
data,
timestamp,
is_unread)
SELECT DISTINCT '$text',
'comment',
'$id',
'$senderId',
COALESCE(comment.author_id, stream.author_id),
'$dataArray',
'$timestamp',
'1'
FROM
stream,
comment
WHERE
(comment.author_id != '$senderId' AND comment.target_id = '$id')
OR (stream.author_id != '$senderId' AND stream.id = '$id')
あなたの質問は何ですか? –
ランダムな挿入を引き起こすクエリのどこの部分に問題がありますか? –
@BraydonBatungbacal私たちは、推測するために 'WHERE'節で補間されるPHP変数の例を見る必要があります。おそらく、それは問題を引き起こすように設計したクエリではなく、 '$ senderId、$ id'または他の変数の値によって問題を引き起こします。 –