Sie können die IN-Klausel auch die Ergebnisse einer Abfrage übernehmen lassen, wie z. B.:
SELECT * FROM table1
WHERE table1.id IN
(
SELECT id from table2
)
Auf diese Weise müssen Sie keine Textzeichenfolge mit allen möglichen Werten generieren.
In mysql sollten Sie in der Lage sein, so viele Werte in die IN-Klausel zu setzen, wie Sie möchten, nur eingeschränkt durch den Wert von "max_allowed_packet".
http://dev.mysql.com/doc /refman/5.0/en/comparison-operators.html#function_in http://dev.mysql.com /doc/refman/5.0/en/server-system-variables.html#sysvar_max_allowed_packet