Leçon 6 / 8 — Chapitre 10: Mise en pratique : restaurant
INSERT INTO … SELECT : dupliquer un ticket favori
Comme au chapitre 6, INSERT INTO ... SELECT permet de recréer une commande à partir d'une existante, sans ressaisir ses valeurs à la main.
INSERT INTO tickets (plat_id, quantite, semaine)
SELECT plat_id, quantite, 'cette_semaine'
FROM tickets WHERE id = 2;
Cette instruction copie plat_id (2) et quantite (3) du ticket 2 dans une toute nouvelle ligne — mais pas sa valeur de semaine : 'cette_semaine' est une valeur littérale, écrite directement dans le SELECT, qui remplace ce que contenait le ticket d'origine (qui était déjà 'cette_semaine' dans ce cas précis, mais aurait pu être différent).
À retenir :
- Un
SELECTutilisé dans unINSERT INTO ... SELECTpeut mélanger des colonnes copiées telles quelles (plat_id,quantite) et des valeurs littérales fixes ('cette_semaine'), du moment que le nombre total de colonnes correspond. - Cette technique évite de ressaisir des valeurs déjà connues, tout en permettant de forcer certaines colonnes à une valeur différente de la ligne source.
À vous de jouer : si le ticket source avait semaine = 'semaine_derniere', la nouvelle ligne créée par cet INSERT porterait-elle quand même semaine = 'cette_semaine' ?
Continuez ce module
Débloquez les leçons restantes ainsi que la certification finale.
2 500 XOF / 3,81 € / 4,15 $
Débloquez les 80 leçons restantes de ce module
Votre paiement est vérifié avant l'activation de l'accès