MySQL Delete z LEFT JOIN
Kategoria: php/db
Czasami zdarza się problem usunięcia wierszy z tabeli A, które mają swoje odpowiedniki (bądź ich nie mają) w tabeli B. Problem jest bardzo prosty do rozwiązania, ale można natrafić na malutki kruczek, który zabierze nam chwilę czasu. Poniżej przykład zapytania:
delete m.* from materials m left join products p on m.code = p.code where p.code is null
Powyższe zapytanie jest “działające”, zwrócić trzeba uwagę na pogrubione. Przy delete z left join trzeba określić z której tabeli dane będą usuwane. Mam nadzieję, że zaoszczędziłem wam 30 minut googlowania.


2008-11-12 19:25
Dzięki za wpis. Właśnie mi pomógł!