Hogy tudnám használni a where xy in (...) dolgot, úgy hogy a felsorolást egy újabb select biztosítaná.
Az eredeti gondolm az, hogy kiszeretnék egy táblából törölni minden olyan elemet, ami a legkorábbi 5-nél régebbi, az időt egy timestamp biztosítja. Ezt szeretném egy parancsban megvalósítani, de valahogy nem jövök rá.
- 1755 megtekintés
Hozzászólások
verzió?
DELETE FROM `fiatal_alkoholistak_szovetsege` WHERE id NOT IN (SELECT fasz.id FROM `fiatal_alkoholistak_szovetsege` fasz ORDER BY fasz.created DESC LIMIT 5)
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
- A hozzászóláshoz be kell jelentkezni
sajna ezt kapom
ERROR 1235 (42000): This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
| VERSION() |
+-----------------+
| 5.1.37-1ubuntu5 |
- A hozzászóláshoz be kell jelentkezni
najo, akkor kiprobalom :)
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
- A hozzászóláshoz be kell jelentkezni
Viszont ezzel megvan a megoldás.
http://dev.mysql.com/doc/refman/5.0/en/row-subqueries.html
DELETE FROM `fiatal_alkoholistak_szovetsege` WHERE id NOT IN (SELECT * FROM(SELECT fasz.id FROM `fiatal_alkoholistak_szovetsege` fasz ORDER BY fasz.created DESC LIMIT 5) ALIAS)
- A hozzászóláshoz be kell jelentkezni
aha, kihagytam a subquery elfedését :)
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
- A hozzászóláshoz be kell jelentkezni