Erreur SQLite: trop de termes dans SELECT composé

Lorsque j'insère trop de données dans le file de database sqlite, une erreur "trop ​​de termes dans SELECT composé" se produit. J'utilise " insert into ... select ... union select ... union ... ". Je sais que c'est trop d'instructions select, mais ma question est: quel est le nombre maximum de termes dans une instruction SELECT composée?

Une instruction SELECT composée est constituée de deux instructions SELECT ou plus connectées par les opérateurs UNION, UNION ALL, EXCEPT ou INTERSECT. Nous appelons chaque instruction SELECT individuelle dans un composé SELECT un "terme".

Le générateur de code dans SQLite traite les instructions SELECT composées à l'aide d'un algorithm récursif. Afin de limiter la taille de la stack, nous limitons donc le nombre de termes dans un SELECT composé. Le nombre maximum de termes est SQLITE_MAX_COMPOUND_SELECT qui est par défaut 500. Nous pensons que c'est une atsortingbution généreuse car en pratique, nous ne voyons presque jamais le nombre de termes dans un select composé dépassent les numbers uniques.

Le nombre maximal de termes SELECT composés peut être réduit à l'exécution en utilisant l'interface sqlite3_limit (db, SQLITE_LIMIT_COMPOUND_SELECT, size).

pour plus de détails s'il vous plaît vérifier cela … http://www.sqlite.org/limits.html

Il n'y a pas de limite pour le nombre de SELECT que vous utilisez. Tout ce que vous devez faire est de vérifier si la list des colonnes correspond ou non avec les cols INSERT.