Maison  >  Article  >  base de données  >  Comment puis-je copier sélectivement des données entre des tables MySQL à l'aide de INSERT INTO...SELECT ?

Comment puis-je copier sélectivement des données entre des tables MySQL à l'aide de INSERT INTO...SELECT ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-27 16:13:08344parcourir

How Can I Selectively Copy Data Between MySQL Tables Using INSERT INTO...SELECT?

Copie de données entre des tables MySQL avec sélection de champs personnalisés

Dans le domaine de la gestion de bases de données, le transfert efficace de données entre les tables est une tâche courante. MySQL propose plusieurs méthodes pour y parvenir, notamment l'instruction INSERT INTO...SELECT.

Considérez un scénario dans lequel vous disposez de deux tables MySQL, la table 1 (la table existante) et la table 2 (la nouvelle table). Vous souhaitez copier sélectivement des champs spécifiques du tableau 1 vers le tableau 2, en fonction des critères suivants :

  • Tableau 1 : Contient des colonnes telles que aid, st_id, from_uid et message .
  • Tableau 2 : Contient des colonnes telles que st_id, uid, changes, status et assign_status.

Utilisation des requêtes MySQL pour la copie sélective des données :

Pour atteindre votre objectif, vous pouvez utiliser la requête MySQL suivante :

INSERT INTO table2 (st_id, uid, changed, status, assign_status)
SELECT st_id, from_uid, now(), 'Pending', 'Assigned'
FROM table1;

Cette requête effectue les opérations suivantes :

  1. Insère données dans le tableau 2, y compris les colonnes suivantes :

    • st_id
    • uid
    • modifié (défini sur l'horodatage actuel à l'aide de la fonction NOW())
    • status (défini sur 'En attente')
    • assign_status (défini sur 'Assigned')
  2. Sélectionne les données du tableau 1, correspondant aux colonnes de l'instruction INSERT. Plus précisément, il sélectionne :

    • st_id
    • from_uid

Si vous souhaitez copier toutes les lignes du tableau 1, vous pouvez omettre la clause WHERE. Cependant, si vous souhaitez limiter la copie à un sous-ensemble spécifique de lignes, vous pouvez ajouter une clause WHERE avec les conditions souhaitées.

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