Maison > base de données > tutoriel mysql > le corps du texte

Comment cloner une ligne dans MySQL sans sélectionner explicitement de colonnes ?

DDD
Libérer: 2024-11-10 19:07:03
original
441 Les gens l'ont consulté

How to Clone a Row in MySQL without Explicitly Selecting Columns?

Clonage d'une ligne dans MySQL : alternative à la sélection explicite de colonnes

Dans MySQL, la réplication rapide et efficace d'une ligne de table est souvent souhaitée. L'approche courante consiste à extraire les données de ligne à l'aide de "SELECT *" et à les réinsérer dans la même table. Cependant, cette méthode devient lourde avec des tableaux contenant un grand nombre de colonnes.

Leonard Challis a proposé une solution astucieuse qui évite d'avoir à lister toutes les colonnes :

CREATE TEMPORARY TABLE tmptable_1 SELECT * FROM table WHERE primarykey = 1;
UPDATE tmptable_1 SET primarykey = NULL;
INSERT INTO table SELECT * FROM tmptable_1;
DROP TEMPORARY TABLE IF EXISTS tmptable_1;
Copier après la connexion

Cette technique consiste à créer un table temporaire pour stocker la ligne souhaitée. La clé primaire de cette table temporaire est définie sur null, permettant à MySQL de générer une nouvelle valeur lors de l'insertion. Pour garantir qu'une seule ligne est récupérée, "LIMIT 1" peut être ajouté à l'instruction INSERT INTO.

Pour garantir davantage que seule la ligne prévue est insérée, la valeur de la clé primaire doit être ajoutée au nom de la table temporaire. comme on le voit dans l'extrait de code. Cette technique simplifie le processus de copie de lignes sans avoir besoin de sélection explicite de colonnes, ce qui en fait un outil précieux pour gérer de grandes tables dans MySQL.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal