pb81 skrev:
Vad är det som gör att MySQL inte klarar av subquery?
Versionen. Det finns från och med 4.1.
11 svar · 624 visningar · startad av pb81
Hallå igen!
Vad är det som gör att MySQL inte klarar av subquery?
SQL2 = "DELETE FROM graffiti WHERE g_id NOT IN (SELECT g_id FROM graffiti ORDER BY g_id DESC LIMIT 20)"
connect.execute(SQL2)
Tänkte köra en sådan kod men det vill sig inte riktigt
Mvh // Paul
pb81 skrev:
Vad är det som gör att MySQL inte klarar av subquery?
Versionen. Det finns från och med 4.1.
Men det är den senaste versionen som jag använder
någon? =)
Microsoft OLE DB Provider for ODBC Drivers error '80040e31'
[MySQL][ODBC 3.51 Driver][mysqld-4.1.20-log]This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
Får det felmeddelandet på koden nämnd ovan
Det står i felmeddelandet att du har version 4.1.20. Version 5 har kommit.
Microsoft OLE DB Provider for ODBC Drivers error '80040e31'
[MySQL][ODBC 3.51 Driver][mysqld-5.0.24a-standard-log]This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
Får fortfarande samma fel fast jag har version 5
Flyttas från ASP
ingen som har någon ide?
pb81 skrev:
[MySQL][ODBC 3.51 Driver][mysqld-5.0.24a-standard-log]This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
Det står ju klart och tydligt att LIMIT inte stöds än i kombination med IN-subquery.
... så ett alternativ är ju att först hämta ut de 20 man vill behålla, bygga upp en kommaseparerad sträng, och sedan använda den i sin DELETE-fråga, så den ser ut typ så här:
SQL2 = "DELETE FROM graffiti WHERE g_id NOT IN (4711, 8822, 3049, 394, 3434, [...])"
connect.execute(SQL2)