Maison >base de données >tutoriel mysql >Comment puis-je utiliser INSERT avec SELECT pour insérer des colonnes spécifiques et définir des valeurs personnalisées ?

Comment puis-je utiliser INSERT avec SELECT pour insérer des colonnes spécifiques et définir des valeurs personnalisées ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-18 19:56:10117parcourir

How Can I Use INSERT with SELECT to Insert Specific Columns and Set Custom Values?

Comprendre la requête « INSÉRER AVEC SELECT »

La requête "INSERT WITH SELECT" combine une instruction INSERT avec une instruction SELECT pour insérer plusieurs lignes dans une table de base de données en fonction des données extraites de l'instruction SELECT.

Flexibilité de la requête « INSÉRER AVEC SELECT »

Alors que l'instruction INSERT vous permet généralement de spécifier une valeur pour chaque colonne de la table cible, la requête "INSERT AVEC SELECT" offre une plus grande flexibilité. Dans ces requêtes, vous pouvez inclure ou exclure sélectivement des colonnes dans l'instruction SELECT, vous permettant d'insérer des données dans des colonnes spécifiques ou de modifier des valeurs pendant le processus d'insertion.

Exemple : Insérer uniquement les colonnes sélectionnées et définir des valeurs personnalisées pour les colonnes

Considérez la requête fournie dans la question :

<code class="language-sql">INSERT INTO courses (name, location, gid) 
SELECT name, location, gid 
FROM courses 
WHERE cid = $cid</code>

Dans cette requête, l'instruction SELECT récupère les colonnes nom, emplacement et gid de la table des cours, mais vise uniquement à insérer le nom et l'emplacement dans la table des cours cible. Pour y parvenir, vous pouvez modifier la requête comme suit :

<code class="language-sql">INSERT INTO courses (name, location, gid)
SELECT name, location, 1
FROM courses
WHERE cid = 2</code>

Dans la requête modifiée, l'instruction SELECT reste la même, mais nous spécifions une valeur constante de 1 pour la colonne gid dans l'instruction INSERT. Cela nous permet d'insérer le nom et l'emplacement dans les cours tout en définissant le gid sur une valeur fixe de 1. Notez que vous pouvez remplacer 1 par n'importe quelle constante du même type que gid.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn