MySQL: УДАЛИТЬ ИЗ с информацией из подзапроса - PullRequest
0 голосов
/ 12 октября 2011

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

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

DELETE FROM users WHERE id=(SELECT id FROM delete_requests)

Таким образом, MySQL жалуется:

#1242 - Subquery returns more than 1 row

Можно ли это сделать одним оператором, не прибегая к логике исполняемого приложения?

Ответы [ 3 ]

5 голосов
/ 12 октября 2011

Используйте предложение IN

DELETE FROM users WHERE id IN (SELECT id FROM delete_requests)
2 голосов
/ 12 октября 2011
DELETE FROM users WHERE id IN (SELECT id FROM delete_requests)
2 голосов
/ 12 октября 2011

Вы можете использовать предложение in.

DELETE FROM users WHERE id IN (SELECT id FROM delete_requests)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...