Puoi anche fare in modo che la clausola IN prenda i risultati di una query, ad esempio:
SELECT * FROM table1
WHERE table1.id IN
(
SELECT id from table2
)
In questo modo, non è necessario generare una stringa di testo con tutti i valori possibili.
In mysql, dovresti essere in grado di inserire tutti i valori che desideri nella clausola IN, vincolato solo dal valore di "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