Envoyé par
Rei Ichido
Ca dépend dans quel sens !
En utilisant la clause LIMIT, pas de problème pour limiter
Par contre il faut que ta table contienne au moins le nombre de lignes que tu veux insérer ...
Ensuite, tu peux toujours faire un CROSS JOIN sur une table comportant peu de lignes pour multiplier par autant ta volumétrie de ta table (quitte à limiter en plus avec LIMIT).
Alors ...
En suivant ton idée de grosse table et LIMIT, sous MySQL, j'ai testé :
select "*test*", floor(1000000*rand()) from information_schema.columns limit 100;
Mais, bon c'est dédié à MySQL (en plus il n'y a aucune garantie que cette base et cette table existent par la suite).
Ton idée sur les CROSS JOIN m'a plus inspiré, j'ai testé :
select * from (select 11 union select 12) as t1, (select 21 union select 22) as t2;
Et ça marche bien, mais c'est plutôt lourd ...
Petite question, n'y aurait-il pas une syntaxe particulière pour remplacer (select ... union ...), par un ensemble simple de lignes créés à la main ?
Du style:
select * from (1,2) as t1, (3,4) as t2;
Où chaque (1,2,3) serait un ensemble de lignes et non de colonnes (comme une table, quoi).
Un peu comme dans:
INSERT INTO test VALUES (1) , (2);
Envoyé par
asmduty
C'est la meilleure solution à mon sens, ou alors tu créés ta commande insert dans excel en faisant un glisser vers le bas pour incrémenter tes champs uniques.
Ensuite te suffit de coller tous ces insert générés en 1 minutes dans MySql et d'éxécuter le tout
Non justement je ne veux pas passer par un import, ou une méga commande insert. Je cherche une solution légère ...
Partager