Heim >Datenbank >MySQL-Tutorial >Wie kann die Unterabfrage-LIMIT-Einschränkung von MySQL mit dem IN-Operator umgangen werden?
MySQL-Inkompatibilität mit Unterabfragebeschränkungen
Die Fehlermeldung „Diese Version von MySQL unterstützt 'LIMIT & IN/ALL/ANY' noch nicht /SOME subquery'“ gibt an, dass die verwendete MySQL-Version die Verwendung einer LIMIT-Klausel innerhalb einer Unterabfrage nicht unterstützt, wenn bestimmte Operatoren wie verwendet werden IN.
Lösung
Eine Problemumgehung für diese Einschränkung besteht darin, einen JOIN anstelle einer IN-Unterabfrage zu verwenden. Der folgende Code demonstriert diesen Ansatz:
$Last_Video = $db->fetch_all(' SELECT v.VID, v.thumb FROM video AS v INNER JOIN (SELECT VID FROM video WHERE title LIKE "%' . $Channel['name'] . '%" ORDER BY viewtime DESC LIMIT 5) AS v2 ON v.VID = v2.VID ORDER BY RAND() LIMIT 1 ');
In diesem Code:
Das obige ist der detaillierte Inhalt vonWie kann die Unterabfrage-LIMIT-Einschränkung von MySQL mit dem IN-Operator umgangen werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!