Удалить из 2х таблиц...

kaiser Zaido

Новичок
Удалить из 2х таблиц...

У меня стоит задача удалить одним запросом из жвух таблиц все значения имеющие один ИД

вот что я пытался...

delete from tquest where id_quest=$id union delete from tansw where id_quest=$id

DELETE FROM tquest as t1 LEFT JOIN tansw as t2 ON t1.id_quest=t2.id_quest WHERE t1.id_quest=$id

DELETE FROM table1, table2 WHERE table1.id_quest=$id AND table2.id_quest=$id

как ни странно ничего не сработало :))
вероятно там ошибки...

помогите плз их исправить и правильно составить запрос :))
 
удалить из данные двух таблиц одним запросом невозможно
 
neko

как это невозможно? возможно, только надо думать + бывают разные ньюансы.

Сам делал такое:

есть список фирм-производителей, есть список товаров к фирме производителю

Человек удаляет целую группу + все товары, принадлежащие данной группе. ОДНИМ запросом.
 
покажи пример пожалуйста удаления из двух таблиц одним запросом
 
согласно стандарту не существует возможности удалить кортежи из нескольких таблиц одним заопросом, при условии, что не используются тригерры и sp
еще вопросы будут?
 
не надо по другому:
Код:
mysql> select * from main;
+----+
| id |
+----+
|  1 |
|  2 |
|  3 |
|  4 |
|  5 |
|  6 |
|  7 |
|  8 |
+----+
8 rows in set (0.00 sec)

mysql> select * from detail;
+----+---------+
| id | main_id |
+----+---------+
|  1 |       1 |
|  2 |       1 |
|  3 |       1 |
|  4 |       2 |
|  5 |       2 |
|  6 |       5 |
|  7 |       5 |
+----+---------+
7 rows in set (0.00 sec)

mysql> delete from main,detail using main,detail where main.id = detail.main_id AND main.id IN (1,3,5,8);
Query OK, 7 rows affected (0.00 sec)

mysql> select * from main;
+----+
| id |
+----+
|  2 |
|  3 |
|  4 |
|  6 |
|  7 |
|  8 |
+----+
6 rows in set (0.00 sec)

mysql> select * from detail;
+----+---------+
| id | main_id |
+----+---------+
|  4 |       2 |
|  5 |       2 |
+----+---------+
2 rows in set (0.00 sec)

mysql>
должно работать с версии MySQL 4.0.2
 
Сверху