Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Удпление из двух таблиц одним запросом
 
 автор: Crux   (22.04.2006 в 11:58)   письмо автору
 
 

Есть две таблицы, в каждой таблице есть поле id
как можно удалить одним запросом записи в обоих таблицах с однинаковым id.


DELETE FROM  tab1, tab2 WHERE id='какой-то номер';

не работает.

   
 
 автор: cheops   (22.04.2006 в 15:52)   письмо автору
 
   для: Crux   (22.04.2006 в 11:58)
 

Следует поступить следующим образом
DELETE tab1, tab2 FROM tab1, tab2 WHERE tab1.id=tab2.id AND tab1.id=t3.'какой-то номер'

   
 
 автор: Crux   (22.04.2006 в 16:41)   письмо автору
 
   для: cheops   (22.04.2006 в 15:52)
 

не совсем понятна запись:

... tab1.id=t3.'какой-то номер' 


откуда взялось t3?

   
 
 автор: cheops   (22.04.2006 в 21:59)   письмо автору
 
   для: Crux   (22.04.2006 в 16:41)
 

Это опечатка, следует читать
DELETE tab1, tab2 FROM tab1, tab2 WHERE tab1.id=tab2.id AND tab1.id='какой-то номер'

   
 
 автор: Crux   (22.04.2006 в 22:08)   письмо автору
 
   для: cheops   (22.04.2006 в 21:59)
 

к сожалению так не работает

Ответ MySQL:  

#1064 - You have an error in your SQL syntax ...

   
 
 автор: cheops   (22.04.2006 в 22:25)   письмо автору
 
   для: Crux   (22.04.2006 в 22:08)
 

А у вас какая версия MySQL?

   
 
 автор: Crux   (22.04.2006 в 22:30)   письмо автору
 
   для: cheops   (22.04.2006 в 22:25)
 

MySQL 3.23.53-max

   
 
 автор: cheops   (22.04.2006 в 22:33)   письмо автору
 
   для: Crux   (22.04.2006 в 22:30)
 

Старова-то... в ней помоему ещё не было многотабличного оператора DELETE.

   
 
 автор: Crux   (22.04.2006 в 22:43)   письмо автору
 
   для: cheops   (22.04.2006 в 22:33)
 

да действительно старова-то...

ещё вопрос: транзакции с какой версии поддерживаются (COMMIT ROLLBACK)

   
 
 автор: cheops   (23.04.2006 в 11:08)   письмо автору
 
   для: Crux   (22.04.2006 в 22:43)
 

3.23.17 кажется... только при использовании транзакций имеется особенность - они не работают с таблицами MyISAM - нужны специальные транзакционные таблицы, как правило, либо InnoDB, либо BDB, а они медленее MyISAM (иногда в разы).

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования