2013-04-14 5 views
1

Я хочу удалить все записи в таблице member_vote, где идентификатор совпадает с идентификатором другой строки таблицы.Удалить несколько строк

Можно ли это сделать в одном запросе?

Это запрос, я сейчас, который возвращает ошибку, что мой подзапрос содержит несколько строк

DELETE FROM participant_vote WHERE ID = (SELECT ID FROM vote WHERE facebookid =: facebookid)

ответ

2
DELETE FROM participant_vote WHERE id IN (SELECT id FROM vote WHERE facebookid = :facebookid) 

IN быть трюк. Я чувствую, что поиск сообщения также дал бы ответ.

2

Да. Используйте оператор IN вместо оператора =.

DELETE FROM participant_vote 
WHERE id IN (
    SELECT id 
    FROM vote 
    WHERE facebookid = :facebookid 
) 
Смежные вопросы