Jag undrar om det går att ta bort poster från flera tabeller där ID:et är detsamma. Strukturen ser ut såhär:
[b]anteckning[/b]
- ID [i]int[/i]
- KategoriID [i]int[/i]
- Anteckning [i]varchar[/i]
- AventyrID [i]int[/i]
[b]aventyr[/b]
- ID [i]int[/i]
- Aventyr [i]varchar[/i]
[b]kategori[/b]
- ID [i]int[/i]
- Kategori [i]varchar[/i]
- AventyrID [i]int[/i]
Det jag vill är alltså att ta bort en kategori, och samtidigt ta bort den posten som har samma KategoriID i tabellen anteckning.
Går detta eller måste man göra flera SQL-satser?
Tack på förhand
Vilket DBMS ? Du kan ju när du skapar dina relationer skapa dem med on cascade delete, så plockas alla relaterade tupler bort vid radering av en specifik tupel
Det innebär att om du har on delete cascade på relationen mellan KategoriID i anteckning och KategoriID i kategori så kommer alla med ett det kategoriId i anteckning tas bort när det id:t tas bort ur kategori (där den är primary key)
Hum, stötte på ett problem.
Om det inte finns några poster i tabellen anteckningar så tar inte kategorin bort. Just nu ser det ut såhär:
mysql_query("DELETE kategori, anteckningar FROM kategori, anteckningar
WHERE kategori.ID = $_GET[katID] AND kategori.ID = anteckningar.KategoriID") or die (mysql_error());
Jag prövade att byta ut AND mot OR men det vill sig inte heller.
/red Jag upptäckte att det fanns en annan variant med LEFT JOIN som funkade så jag ville ha det. Tack än en gång!