Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Удаление строк в MySql 3.x.x


Автор: ksnk 24.9.2008, 16:59
Имею проблему. Есть две связанные полем таблицы, x_katalog и x_category со связанными  полями id и page, соответственно. Мне нужно вычистить из каталога то, что не имеет своего "образа" в категориях.
Для версии MySql больше 4-х я могу честно написать 
Код

delete ?_katalog FROM ?_katalog 
 LEFT JOIN ?_category ON ?_katalog.id=?_category.page where ?_category.id is null;

и оно сработает. К сожалению заказчик размещает сайт на сервере с 3-й версией MySql, а на ней join'ы в операторе delete не работают. Нужно переписать запрос так, чтобы обойтись без Join'а. Это возможно?

Неконструктивные варианты, типа послать заказчика подальше, не рассматриваются ;-)


Автор: Валерия 24.9.2008, 19:46
Дело в том что в 3ей версии даже подзапросы не работают...

Автор: ksnk 24.9.2008, 19:53
Валерия, Угу... Пока сделал честно - выбираю все "одинокие" записи из каталога и потом циклом всех их медленно и печально пристреливаю. Хорошо что их не много, вроде, ...

Автор: skyboy 24.9.2008, 20:55
ksnk, кажется, это единственное возможное решение  - два запроса. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)