Usuwanie z 2 tabel

MA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 63
0

Mam dwie tabele:
users
events

Tabela 'users' zawiera pole 'id'
Tabela 'events' zawiera klucz obcy 'id_uzytkownika

Mam przyklad który w momencie kiedy user posiada wpisy w tabeli 'events' usuwa uzytkownika z 1-wszel tabeli o danym id i wszystkie wpisy z tabeli nr. 2 o danym id. Problem w tym ze jesli użytkownik nie ma żadnych wpisów w tabeli 'events' to zapytanie nie usuwa mi nawet usera.

Kopiuj
$ide = $_SESSION['id'];
							
$query = "DELETE users, events 
FROM users 
INNER JOIN events 
ON 
events.id_uzytkownika = users.id 
WHERE users.id=$ide";
Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
0

Poczytaj o foreign key oraz on delete cascade.

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
2

Na temat odpisuj w postach.

Ten caly mj przyklad jest zly i nie da sie go przerobic ?

Wykorzystanie usuwania kaskadowego byłoby prostsze - jeśli chcesz pozostać przy swoim przykładzie, prawdopodobnie zamiana inner join na left join da radę.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.