Visa ett inlägg
Oläst 2012-08-06, 13:57 #3
coredevs avatar
coredev coredev är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Sep 2007
Inlägg: 1 554
coredev coredev är inte uppkopplad
Bara ett inlägg till!
coredevs avatar
 
Reg.datum: Sep 2007
Inlägg: 1 554
Citat:
Ursprungligen postat av naak2803 Visa inlägg
DELETE FROM Login WHERE NOT IN (SELECT * FROM Login ORDER BY timeOfLogin DESC LIMIT 3)

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IN (SELECT * FROM Login ORDER BY timeOfLogin DESC LIMIT 3)' at line 1

det jag vill göra, är att radera alla poster som INTE finns med i
"SELECT * FROM Login ORDER BY timeOfLogin DESC LIMIT 3"
Det finns flera fel:
1) För att kunna köra denna typen av subquery så måste du specificera kolumnnamnet i subqueryn. Ex:
Kod:
SELECT * FROM tabell WHERE id NOT IN (SELECT tabell_id FROM tabell2)
2) Du joinar tabellen med sig själv, det skall du inte behöva. Följande skall räcka:
Kod:
DELETE FROM Login ORDER BY timeOfLogin DESC LIMIT 3
3) Att ta bort de tre senaste inloggningarna är konstigt, du borde se över din informationsmodell :-)
coredev är inte uppkopplad   Svara med citatSvara med citat