MySQL复杂插入的问题(带子选择的多行插入)

时间:2012-01-10 23:31:03

标签: php mysql insert

我遇到以下问题的问题。通过查询,我试图在通知表中为每个匹配收件人ID字段的子选择的用户插入一行。

我的查询如下,但无效:

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')

我也尝试使用VALUES作为我试图插入的信息的前缀,但是我读到了某个地方,对于多行插入,你应该排除它,只使用括号中的值,如上所述?

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'