| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Составление SQL-запросов > MySQL: удалить данные из связанных таблиц |
| Автор: patap 12.2.2009, 18:01 |
| Подскажите по такой вот проблеме: У меня есть несколько таблиц t1, t2, t3 связанные по одному id. нужно из каждой таблицы удалить записи, id которых равны заданному. |
| Автор: Akina 12.2.2009, 18:04 |
| а при чём тут IF? |
| Автор: patap 12.2.2009, 18:15 | ||||||
я понимаю что можно удалить
но у меня такая ситуация, что допустим в таблице tab3 нет записи с указанным id, и этот запрос не срабатывает. полез в инет и нашел чето типа такого
ну и собственно мне кажется, что нужно использовать структуру типа такой. но как конкретно я не знаю. по-этому мне и кажеться что в запрос нужно вставить IF |
| Автор: Deniel_li 12.2.2009, 18:59 | ||
значит надо использовать left join к этой таблице, а не соединять декартовым произведением |
| Автор: patap 13.2.2009, 10:30 | ||
и действительно - армагедон... принцип такой: tab1: id_t1 - primary key value tab2: id_t1 id_t2 - primary key value tab3 id_t1 id_t2 id_t3 - primary key value все таблицы связаны по id_t1 запрос должен удалять со всех таблиц строки в которых id_t1 равен заданному значению, также нужно учесть возможность того, что в таблицах tab2 и tab3 может не быть id_t1 с заданным значением. вот, вроде ясно выразился... самому пока в голову не приходит как это реализовать. буду думать.... если у есть идеи подскажить, желательно с небольшим примером |
| Автор: Akina 13.2.2009, 10:36 | ||
|
| Автор: patap 13.2.2009, 11:03 |
| оно самое ща про JOIN почитаем... |