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