[sql]DELETE FROM `a`, `b` USING `a`, `b` WHERE `a`.`condition` = '0' AND `a`.`uid` = '1' AND `a`.`eid` = '2';[/sql] Очевидное удаление из 2х таблиц... пример работает таким образом, что удаляет только если в таблице b есть значения как в таблице a, но у меня иногда бывает, что нужно удалить только из таблицы a, так как в b ничего не добавлено. можно ли как-то переделать данный запрос?
Неправда, ибо b у вас в условии запроса отсутствует совсем, и структуры таблиц вы не привели. Всё можно, если осторожно (с). Если правильно вас понял, то вам нужно такое? Исходная ситуация: Код (Text): mysql> create table a (id int, payload varchar(10)); Query OK, 0 rows affected (0.04 sec) mysql> create table b (id int, payload varchar(10)); Query OK, 0 rows affected (0.00 sec) mysql> select * from a; Empty set (0.00 sec) mysql> insert into a values(1,'bar'),(2, 'foo'),(3, 'baz'); Query OK, 3 rows affected (0.00 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql> insert into b values(1,'bar'),(2, 'foo'); Query OK, 2 rows affected (0.00 sec) Records: 2 Duplicates: 0 Warnings: 0 mysql> select * from a; +------+---------+ | id | payload | +------+---------+ | 1 | bar | | 2 | foo | | 3 | baz | +------+---------+ 3 rows in set (0.00 sec) mysql> select * from b; +------+---------+ | id | payload | +------+---------+ | 1 | bar | | 2 | foo | +------+---------+ 2 rows in set (0.01 sec) Стираем только то, что есть в обоих таблицах: Код (Text): mysql> delete a, b -> from a -> left join b using(id) -> where a.id IN (1,2); Query OK, 4 rows affected (0.00 sec) mysql> select * from a; +------+---------+ | id | payload | +------+---------+ | 3 | baz | +------+---------+ 1 row in set (0.00 sec) mysql> select * from b; Empty set (0.00 sec) Тем же самым запросом стираем оставшиеся данные в a, которых в b нет. Код (Text): mysql> delete a, b -> from a -> left join b using(id) -> where a.id IN (3); Query OK, 1 row affected (0.00 sec) mysql> select * from a; Empty set (0.00 sec) mysql> select * from b; Empty set (0.00 sec) Как вы видите, запрос в обоих случаях один и тот же, только id подставляем, а там всё равно, есть они в b или нет.