Avec MySQL, il est possible de dupliquer ou de copier des lignes d’une table vers une autre table (ou bien dans la même table depuis MySQL 4.0.14) grâce à la commande INSERT SELECT. La syntaxe de la commande est la suivante :
 

INSERT [LOW_PRIORITY] [IGNORE] [INTO] nom_de_la_table [(liste des colonnes)] SELECT ...

Voici un exemple de son utilisation pour copier des colonnes d’une table vers une autre table :
 

INSERT INTO ma_table (colonne1, colonne2, colonne3, colonne4) SELECT colonne1, colonne2, colonne3, colonne4 FROM ma_table2 where id = 2;

Voici un second exemple pour copier des colonnes d’une table vers la même table et cette fois-ci, je choisis d’affecter la valeur X pour la colonne colonne1 de chaque ligne copiée :
 

INSERT INTO ma_table (colonne1, colonne2, colonne3, colonne4) SELECT 'X', colonne2, colonne3, colonne4 FROM ma_table where id = 2;

 

Partagez cet article

Avez-vous trouvé cet article utile ?
Article utile ?

Vous pouvez aussi nous soumettre une idée d’article si votre recherche est différente.

Publications similaires

2 commentaires

  1. bonjour j’ai une table de cette forme :  DT timE————————————
    2012-04-05 06:31:44.5602012-04-05 06:31:44.3272012-04-05 06:23:03.4232012-04-05 06:15:37.6732012-04-05 05:37:53.4302012-04-05 05:30:08.5902012-04-05 05:25:52.823————————————je veux séparer la date et l’heur et mettre chacun dans une colonne SVP aidez moi  

    1. Bonjour,

      Tu devrais y arriver avec une requête comme celle-ci :

      INSERT INTO nouvelle_table (nom_col_date, nom_col_heure) SELECT TIME(nom_col_datetime), DATE(nom_col_datetime) FROM ancienne_table;

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *