8797 sujets

Développement web côté serveur, CMS

Bonjour à vous !

J'ai une table qui contient deux champs : parametre et valeur.

Si j'ai 5 paramètres (avec leur valeur respective) à insérer dans ma table, suis-je obligé de faire 5 requêtes d'insertion ou m'est-il possible de le faire en une seule requête ?

Merci d'avance !

edit: sujet résolu
Modifié par Alphonse (22 Oct 2008 - 14:06)
Salut,

certains SGBD (comme Oracle) acceptent la forme :
INSERT INTO MaTable (parametre, valeur)
VALUES (('parm1', 33),
        ('parm2', 34),
        ('parm3', 35))
mais ce n'est pas le cas de Mysql. Smiley murf

On peut également faire
INSERT INTO MaTable2
SELECT CHAMP1, CHAMP2 FROM MaTable1
à condition que les champs sélectionnés dans MaTable1 correspondent exactement à la structure de MaTable2... ce qui ne semble pas convenir à ton traitement.

Donc oui : tu es obligé de faire 5 requêtes (à priori dans une boucle). Smiley cligne
Merci beaucoup pour ton message car j'ai fait des recherches et, du coup, ça fonctionne après une légère modification. Il ne faut pas de parenthèse générale.
INSERT INTO MaTable (parametre, valeur) 
VALUES('parm1', 33), ('parm2', 34), ('parm3', 35)

Plus d'info. sur la Doc. MySQL - INSERT
a écrit :
La syntaxe INSERT ... VALUES avec plusieurs valeurs est supportées à partir de MySQL 3.22.5 ou supérieure.