Je voulais savoir si il était possible d'ajouter par exemple 100 entrées dans une table en une seule requête ?
Ma table serait toute bête : un id auto-incrémenté et une colonne qui comportera "1" ou "0", et qui comporte "0" par défaut. Donc en gros rien besoin de remplir.
Oui c'est possible. Construit en boucle une chaîne de caractères représentant ta future requête, et quand elle est prête lance-la. Voici la syntaxe typique à obtenir au final :
Note qu'on termine la requête par un point-virgule. Beaucoup de débutant l'oublient, celui-là, sous prétexte que hors du multi-query il est facultatif...
Et pour les requêtes non-multi-query, le ; est, en pratique du moins, optionnel. C'est peut-être spécifique à MySQL ceci dit. Mais toujours est-il qu'à cause de ça, moi qui mets le ; systématiquement je reçois des messages de zéros comme quoi je me suis trompé...
Vrai, mais en même temps je ne vois pas trop comment construire dynamiquement une requête avant de la lancer, si c'est sans passer par un autre langage serveur comme PHP ou ASP...
insert into table (col1, col2)
select rn, 0
from (select rownum rn
from dual
connect by level <= 100);
Mais ce qui peut marcher avec MySQL (tous les SGBD en fait) c'est le bon vieux produit cartésien des familles:
insert into table (col1, col2)
select 1 + a.n + 10 * b.n, 0
from (select 0 n
union all select 1 n
union all select 2 n
union all select 3 n
union all select 4 n
union all select 5 n
union all select 6 n
union all select 7 n
union all select 8 n
union all select 9 n) a
cross join (select 0 n
union all select 1 n
union all select 2 n
union all select 3 n
union all select 4 n
union all select 5 n
union all select 6 n
union all select 7 n
union all select 8 n
union all select 9 n) b;
Sous MySQL j'ai toujours une table "serie" qui traîne avec les entiers de 1 à 1000000 dedans, ça peut servir.
Ajouter un nombre important d'entrée en une requête
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
{LVM}Plan de "partitions" pour machines virtuelles ? Carte de capture sous linux ? Erreur ACPI au boot ?
{LVM}Plan de "partitions" pour machines virtuelles ? Carte de capture sous linux ? Erreur ACPI au boot ?
{LVM}Plan de "partitions" pour machines virtuelles ? Carte de capture sous linux ? Erreur ACPI au boot ?
{LVM}Plan de "partitions" pour machines virtuelles ? Carte de capture sous linux ? Erreur ACPI au boot ?