Le titre est réécrit comme : Traduction anglaise de "Insérer (SELECT & VALUES) ensemble"
P粉536532781
P粉536532781 2023-08-24 16:36:32
0
2
571
<p>J'essaie d'insérer des données dans un tableau, je connais deux manières : </p> <p>La première consiste à ajouter la ligne en tant que valeur : </p> <pre class="brush:php;toolbar:false;">INSERT INTO db_example.tab_example (id,nom,nom,groupe) VALEURS ('','Tom','Hanks','1');</pre> <p>L'autre consiste à insérer à partir d'une autre table :</p> <pre class="brush:php;toolbar:false;">INSERT INTO db_example.tab_example (id,nom,nom) SELECT ID, prénom, nom de famille FROM db_contacts.tab_mygroup;</pre> <p>Mais que se passe-t-il si je souhaite insérer simultanément certaines valeurs d'une autre table (deuxième méthode) et insérer manuellement certaines valeurs par défaut (première méthode). </p> <p>Voici ce que j'ai essayé (sans succès) : </p> <pre class="brush:php;toolbar:false;">INSERT INTO db_example.tab_example (id,nom,nom,groupe) VALEURS ( SELECT ID FROM db_contacts.tab_mygroup, SELECT first_name FROM db_contacts.tab_mygroup, SELECT nom_famille FROM db_contacts.tab_mygroup, '1' );</pré> <p>J'ai pensé à créer une table de visualisation et cela pourrait faire l'affaire, mais j'ai pensé qu'il pourrait y avoir un moyen d'ajouter les deux. </p> <p>Merci à tous ! J'espère avoir décrit clairement ce dont j'ai besoin :)</p>
P粉536532781
P粉536532781

répondre à tous(2)
P粉980815259

Essayez ceci

INSERT INTO db_example.tab_example (id,name,surname)
SELECT id,first_name,'M. Nega'
FROM db_contacts.tab_mygroup

Vous pouvez utiliser la clause join in FROM. Ça devrait marcher !

P粉373596828

Renvoyez simplement une valeur littérale à partir d'une instruction SELECT ; ajoutez une expression à la liste SELECT. Par exemple :

INSERT INTO db_example.tab_example (id,name,surname,group)
SELECT ID
     , first_name
     , last_name
     , '1' AS group
  FROM db_contacts.tab_mygroup;

Suivi

Q : Puis-je utiliser la fonction AS pour sélectionner prénom et nom dans la même colonne ? Ou ai-je besoin d'une autre fonction ?

Réponse : Si vous souhaitez combiner les valeurs de first_namelast_name en une seule colonne, vous pouvez les joindre à l'aide d'une expression et utiliser cette expression dans la liste SELECT, comme

CONCAT(last_name,', ',first_name')

ou

CONCAT(first_name,' ',last_name)
Cela n'aura aucun effet dans le contexte de

AS关键字在INSERT ... SELECT, mais attribuer à l'expression un alias qui correspond au nom de la colonne insérée peut aider les futurs lecteurs.

INSERT INTO db_example.tab_example (id,name,surname,group,full_name)
SELECT ID
     , first_name
     , last_name
     , '1' AS group
     , CONCAT(first_name,' ',last_name) AS full_name
  FROM db_contacts.tab_mygroup
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal