HTML5 + CSS3 logó
  WEBFEJLESZTÉS, WEBÁRUHÁZ KÉSZÍTÉS   Ingyenes elektronikus tananyag interaktív
weboldalak készítéséhez.
Custom Search
 
vissza VISSZA    
menü MENÜ    
ismét ISMÉT    
tovább TOVÁBB    

Rekordok törlése több táblából



Összekapcsolt táblák esetén, ha egy táblából törlünk, akkor a kapcsolt táblákban hozzá kapcsolódó rekordok törléséről is gondoskodni kell.

Egyik módja a feladat megoldásának, hogy a DELETE parancs után felsoroljuk a táblákat, amelyekből törölni akarunk, és a FROM után megadjuk a WHERE záradékban használt táblák nevét A megfelelő feltétételek megadásával gondoskodhatunk, hogy mindenhol az összetartozó rekordok kerüljenek törlésre.

A WHERE záradékban megadott feltételekben kell a saját és az idegen kulcsok összekapcsolásáról, és ha nem akarunk minden összetartozó rekordot törölni, akkor a kívánt rekordok kiválasztásáról.

A parancs általános formája::

DELETE
Táblák amelyekből törölni akarunk
FROM
Táblák amelyek a WHERE záradékban szerepelnek
WHERE
Feltételek


Példa: A „kiraly” nevű felhasználó, megrendeléseinek és a rendelt termékeinek törlése

Forráskód



<?php
...
$SelectStr = "Delete rendeles_tabla, felhasznalok_tabla, rendelt_termek_tabla
FROM rendeles_tabla, felhasznalok_tabla, rendelt_termek_tabla 
WHERE felhasznalok_tabla.id = rendeles_tabla.Felhasznalo_id 
and rendeles_tabla.id = rendelt_termek_tabla.Rendeles_id
and felhasznalok_tabla.FName = 'kiraly'
";

 if (!mysqli_query($MySqliLink,$SelectStr)) {
   die("MySqli hiba (" .mysqli_errno($MySqliLink). "): " . mysqli_error($MySqliLink));
 }
...
?>   
 

A lekérdezett táblák törlés után (phpMyAdmin):


1. felhasznalok_tabla

2. rendeles_tabla

3. rendelt_termek_tabla