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!