Dobrý den, existuje nějaká možnost jak v jednom mysql příkazu vymazat jeden řádek se stejným id ve více tabulkách? Takovýto řádek mám asi ve 40 tabulkách a když bych takový nějaký chtěl smazat, musím mít 40 příkazů.
Vymyslel jsem tohle ale to mi nefunguje:
DELETE FROM (tabulka1,tabulka2,tabulka3,...) WHERE id_nadtabulky = 2;
<HTML>Zbynas: Dle Vašeho popisu to vypadá na chybný návrh databáze. Můžete stručně popsat, k čemu těch 40 tabulek slouží a proč nemohou být jednou tabulkou?</HTML>
Zbynas: Ne, jednoduše to nejde. Zamysli se nad tím, co psal Nípal. ;)
___
Teorie, na základě které je MySQL vybudováno, toto umožňuje, ale to je irelevantní :)
Rekneme, ze to nejde dat do jedne tabulky. Rekneme, ze jje tabulka uzivatele a pod ni jsou ruzne dalsi tabulky, ktere na ni navazuji. V jedne jsou ulozeny objednavky, v dalsi transakce, v dalsi obrazky, a v kazde z takovych tabulek je id uzivatele v tabulce "uzivatele". A kdyz vymazu uzivatele, potrebuju vymazat vsechny zaznamy z techto dalsich tabulek.
Takové záležitosti se dělají přes triggery.