Maison >base de données >tutoriel mysql >Puis-je personnaliser les valeurs des colonnes pendant SQL INSERT à l'aide de SELECT ?

Puis-je personnaliser les valeurs des colonnes pendant SQL INSERT à l'aide de SELECT ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-18 19:41:13510parcourir

Can I Customize Column Values During SQL INSERT Using SELECT?

SQL INSERT avec SELECT : personnalisation des valeurs de colonne

Souvent, vous utiliserez des instructions SELECT dans des requêtes INSERT pour remplir les tables avec des données. Mais que se passe-t-il si vous devez insérer des valeurs de la requête SELECT tout en modifiant la valeur d'une colonne spécifique ?

Modification des valeurs de colonne lors de l'insertion

C'est facilement réalisable. Supposons que vous souhaitiez insérer des données d'une table courses existante, mais que vous souhaitiez remplacer la colonne gid par une valeur spécifique :

Approche originale (sans personnalisation) :

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

Insertion personnalisée :

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

Comme vous pouvez le voir, en remplaçant la sélection de colonne gid par une valeur constante (dans ce cas, 1), vous contrôlez directement la valeur gid pour toutes les lignes insérées. Remplacez simplement 1 par la valeur souhaitée et ajustez la clause WHERE (cid = 2) si nécessaire pour sélectionner les lignes source appropriées. Cela offre de la flexibilité pour remplir votre table tout en gardant le contrôle sur les valeurs de colonnes individuelles.

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