Portál AbcLinuxu, 10. května 2025 14:19
Ř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.