2012-01-10 2 views
0

次のクエリに問題があります。クエリでは、受信者IDフィールドのサブ選択と一致する各ユーザーの通知テーブルに行を挿入しようとしています。MySQL Complex Insertに関する問題(サブ選択付きのMutli Row Insert)

私が持っているクエリは次のようであるが、動作していない:

INSERT INTO 
notification (type, 
     target_id, 
     sender_id, 
     recipient_id, 
     data, 
     timestamp, 
     is_unread) 
     ('post', 
     '$id', 
     '$senderId', 
     (SELECT user_id FROM group_member WHERE group_id = '$id'), 
     '1', 
     '$timestamp', 
     '1') 

「私はまた私が挿入しようとしていた情報の前に付けた値を使用してみましたが、私は、複数行のためにあなたを挿入することをどこかで読んそれを除外し、上記のように括弧内の値を使用するだけですか?

+0

を行うことができますと仮定。 –

答えて

0

あなたは、文字列内の変数を埋め込みたい場合は、二重引用符でそれらをラップする必要がありますあなたの変数が適切にエスケープされている、あなたは

INSERT INTO 
    notification (type,target_id,sender_id,recipient_id, 
    data,`timestamp`,is_unread) 
    SELECT 'post', '$id','$senderId',user_id, '1','$timestamp', '1' 
    FROM group_member WHERE group_id = '$id' 
+0

Brilliant!ありがとうございました! –