Portál AbcLinuxu, 4. prosince 2025 15:56
Řešení dotazu:
delete from tabulka where datum=MAX(select datum from tabulka order by datum);Staci si precist popis funkce MAX, ale sobne bych preferoval to porovnavani pres ID co navrhoval Zdenek, pripadne pouzit jako podminku mySQL funkci
LAST_INSERT_ID()
< zapis pomoci entit < ;)
2. MAX je funkce, takze potrebuje parametr(y), ze kterych ma vybrat maximalni hodnotu, viz MySQL - MAX(). Takze mysql_query ("DELETE FROM sg WHERE date=MAX(SELECT date FROM sg ORDER BY date)");
Mala poznamka na okraj, nezkousej to na ostre databazi, pokud by se ta podminka vyhodnotila jako true, tak mas zadelano na problem
Nevím jestli je to podle normy, ale MySQL 5.0 mi tohle sežrala:
DELETE FROM `test` ORDER BY `id` DESC LIMIT 1;
Jestli to není košér, tak určitě půjde v transakci s dostatečnou izolací nejprve vybrat potřebný záznam a pak jej smazat. Pseudokód:
BEGIN; SELECT ... DELETE FROM ... COMMIT;
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.