Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Usuwanie rekordów z kilku tabel.
Forum PHP.pl > Forum > Przedszkole
sapper_pierwszy
Przeszukałem forum, ale wszystkie przykłady są tak chaotyczne że nic z nich nie rozumiem. Więc tak, mam takie polecenie:
  1. mysql_query("DELETE FROM `testy` WHERE `testy`.`id`='$id_test';");
  2. mysql_query("DELETE FROM `zdania_do_testow` WHERE `zdania_do_testow`.`id_testu`='$id_test';");
  3. mysql_query("DELETE FROM `testy_do_wykonania` WHERE `testy_do_wykonania`.`id_testu`='$id_test';");


I chce z tych 3 zrobić jedno. I nie wiem jak.
Kamil90
przed chwila miałem podobny problem więc może uda mi się Ci pomóc smile.gif
ja bym to napisał w taki sposób:
  1. <?php
  2. mysql_query('DELETE FROM `testy` WHERE `id`='' . $id_test . ''');
  3. mysql_query('DELETE FROM `zdania_do_testow` WHERE `id_testu`='' . $id_test . ''');
  4. mysql_query('DELETE FROM `testy_do_wykonania` WHERE `id_testu`='' . $id_test . ''');
  5. ?>



napisz czy się udało smile.gif
sapper_pierwszy
Nie do końca o to mi chodziło. W dalszym ciągu masz 3 zapytania do bazy, a ja chce żeby to wszystko umieścić w jednym poleceniu.
Kamil90
a spróbuj coś takiego:
  1. <?php
  2. mysql_query('DELETE FROM (`testy`, `zdania_do_testow`, `testy_do_wykonania`) WHERE (`id`='' . $id_test . '',`id_testu`='' . $id_test . '')');
  3. ?>


jezeli to nie pomoze to tez spróbuj połaczyć te 3 zapytania mysql w jednym nawiasie za pomocą spójnika and albo && (nie wiem właśnie jak to jest w zapytaniach mysql...), jestem początkujący smile.gif
sapper_pierwszy
Obawiam się że polecenie WHERE (`id`=\'' . $id_test . '\' może mi usunąć nie tylko rekord z tabeli testy, ale też z pozostałych dwóch z kolumny id bo w tych tabelach też mam kolumny o takiej nazwie, a ja chce w nich usunąć te o nazwie id_testu.
webasek
Może lepiej użyj trggerów?
Bo tak to się chyba nie ewentualnie jeśli pójdzie zapytanie Kamil90

Powinno wyglądać tak:

  1. <?php
  2. ("DELETE FROM (testy, zdania_do_testow, testy_do_wykonania) WHERE (testy.id='" . $id_test . "',zdania_do_testow.id_testu=''' . $id_test . "',testy_do_wykonania .id_testu=''' . $id_test . "'");
  3. ?>
sapper_pierwszy
Nie działa to. Zostawiłem w 3 zapytaniach. Olewka.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.