2012-01-10 107 views
0

我遇到以下查詢問題。通過查詢,我試圖爲每個匹配子選擇收件人ID字段的用戶在通知表中插入一行。與MySQL複雜插入(多選行插入與子選擇)的問題

查詢我有如下,但不工作:

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

如果你想嵌入你的字符串變量,你應該將它們包裝在雙引號。 – 2012-01-10 23:35:04

回答

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

太棒了!謝謝! – 2012-01-11 10:43:34