logó WEBFEJLESZTÉS, WEBÁRUHÁZ KÉSZÍTÉS
Ingyenes elektronikus tananyag interaktív weboldalak készítéséhez.
visszaVISSZA   
menüMENÜ   

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

Ahogy a legtöbb honlap, ez a webhely is használ sütiket a weboldalain.