Проблемы со сложной вставкой MySQL (Mutli Row Insert с Sub Select) - PullRequest
0 голосов
/ 11 января 2012

У меня проблема со следующим запросом.С помощью запроса я пытаюсь вставить строку в таблицу уведомлений для каждого пользователя, который соответствует суб-выбору для поля идентификатора получателя.

У меня следующий запрос, но он не работает:

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 голосов
/ 11 января 2012

Предполагая, что ваши переменные правильно экранированы, вы можете сделать

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'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...