J'ai lu dans ce blog https://www.bennadel.com/blog/2913-utilisant-thinSert-into-set-serser-in-mysql.htm , que vous pouvez utiliser ce qui suit Exemple: strong> p> est-il possible d'insérer plusieurs lignes avec une seule instruction? P > p> définir < / Code> Syntaxe Pour insérer des enregistrements.
5 Réponses :
Vous pouvez utiliser insérer dans Sélectionner ... code>.
insert into tbl1 (col1, col2, col3)
select equivalent_col1, equivalent_col2, equivalent_col3 from tbl2
where filterCol = 1;
Simonare Monsieur, désolé, je veux connaître et utiliser Insert dans la requête «Définir», je ne veux pas utiliser une autre approche, c'est-à-dire Insertion dans (Col_AMes) Valeurs (..), (..) Parce que j'ai 10 colonnes dans mon Les valeurs de table et d'enregistrement (que je veux insérer) sont variées, c'est-à-dire. dans le 1er record v1, v2, uniquement en 2e record v3 v4 seulement
Je ne pouvais pas comprendre ce que tu veux dire. La solution de @ Sibert fonctionne-t-elle pour vous?
Une autre approche Vous pouvez également raccourcir cela (positions de valeur exacte): p>
Sibert, je suis désolé, je veux savoir et utiliser Insert dans la requête «Définir», je ne veux pas utiliser une autre approche, c'est-à-dire Insertion dans les valeurs (..), (..), (..) Parce que j'ai 10 colonnes dans Mes valeurs de table et d'enregistrement (que je veux insérer) sont variées, c'est-à-dire. dans le 1er record v1, v2, uniquement en 2e record v3 v4 seulement
Jamais entendu parler de set. Mais cela ressemble à "upsert". Insertion ou mise à jour des valeurs.
Pour ajouter plusieurs lignes dans une table à l'aide d'une seule instruction insertion, vous utilisez la syntaxe suivante:
INSERT INTO MyTable ( Column1, Column2, Column3 ) VALUES ('John', 123, 'Lloyds Office'), ('Jane', 124, 'Lloyds Office'), ('Billy', 125, 'London Office'), ('Miranda', 126, 'Bristol Office');
monsieur je suis désolé, je veux savoir et utiliser Insérer dans la requête 'Set', je ne veux pas utiliser une autre approche, c'est-à-dire Insertion dans (Col_AMes) Valeurs (..), (..) Parce que j'ai 10 colonnes dans mon Les valeurs de table et d'enregistrement (que je veux insérer) sont variées, c'est-à-dire. dans le 1er record v1, v2, uniquement en 2e record v3 v4 seulement
Non, l'insérer SET code> Syntaxe ne peut pas être utilisé pour insérer plusieurs lignes. Si vous regardez les
Insérer ... SET CODE> Syntaxe Ici , vous verrez:
assignment:
col_name = value
assignment_list:
assignment [, assignment] ...
L'insérer Mais vous pouvez utiliser un insert puis mettez NULL dans les colonnes qui n'ont pas de valeur. P> Exemple: strong> p> dans ... SET ... code> Syntaxe ne peut pas être utilisé pour plusieurs inserts avec la même instruction.
dans code> à partir d'un
Sélectionnez code> avec
Union tout code>.
Ou un insérer dans code> à partir des valeurs
code>. P>
id | col1 | col2 | col3 | col4 | col5
-: | :--- | :--- | :--- | :--- | :---
1 | val1 | null | null | val4 | null
2 | null | val2 | null | null | null
3 | val1 | null | val3 | null | val5
4 | null | val2 | val3 | val4 | null
5 | val1 | null | val3 | null | val5
ou Insertion de plusieurs rangées dans MySQL
Ce n'est pas une question en double, je ne veux pas utiliser une autre approche, c'est-à-dire insertion dans les valeurs (..) (..), (..) Parce que j'ai 10 colonnes dans mes valeurs de table et d'enregistrement (que je veux insérer) sont varié IE. dans le 1er record v1, v2, uniquement en 2e record v3 v4 seulement
Sir Petter, Bennadel.com / blog / ... , nous pouvons insérer en utilisant "SET" également
Vous devez clarifier votre question, que ce soit cette syntaxe exacte que vous aimez comme vous l'avez vu, vous avez enseigné votre question portait sur l'insertion de plusieurs rangées.
J'ai fait une édition à votre question, permet de voir si cela se fait rouvrir, de toute façon la réponse à votre question est probablement non, voir dev.mysql.com/doc/refman/8.0/fr/insert.html , il semble y avoir aucune syntaxe pour ajouter plusieurs rangées.
Je suppose que vous voudriez cela afin que si on échoue, les autres ne sont pas insérés. Si oui, utilisez ensuite un transaction avec une restauration pourrait résoudre ce problème. Mais ce type d'insertion de MySQL spécifique à ... SET code> Syntax n'est pas conçu pour plusieurs inserts.