Comment copier des données d’une table dans une autre table de MySQL?

Je veux copier des données d’une table à une autre dans MySQL.

Tableau 1 (tableau existant):

aid st_id from_uid to_gid to_uid created changed subject message link 

Tableau 2 (Nouveau tableau)

 st_id uid changed status assign_status 

Je souhaite copier certains champs de données du TABLEAU 1 dans le TABLEAU 2.

Cela peut-il être fait en utilisant des requêtes MySQL?

Cela fera ce que vous voulez:

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

Si vous souhaitez inclure toutes les lignes de la table1. Sinon, vous pouvez append une instruction WHERE à la fin si vous souhaitez append uniquement un sous-ensemble de table1.

J’espère que ça aide.

Si vous ne voulez pas lister les champs et que la structure des tables est la même, vous pouvez faire:

 INSERT INTO `table2` SELECT * FROM `table1`; 

ou si vous voulez créer une nouvelle table avec la même structure:

 CREATE TABLE new_tbl [AS] SELECT * FROM orig_tbl; 

Référence pour la sélection d’insert ; Référence pour créer une sélection de table

Vous pouvez facilement obtenir des données d’une autre table. Vous devez append des champs que vous voulez.

La requête mysql est la suivante:

 INSERT INTO table_name1(fields you want) SELECT fields you want FROM table_name2 

où les valeurs sont copiées de table2 à table1

La meilleure option est d’utiliser l’instruction INSERT … SELECT dans mysql.

http://dev.mysql.com/doc/refman/5.0/en/insert-select.html

 SELECT * INTO newtable [IN externaldb] FROM table1; 

http://www.w3schools.com/sql/sql_select_into.asp

 CREATE TABLE newTable LIKE oldTable; 

Ensuite, pour copier les données sur

 INSERT INTO newTable SELECT * FROM oldTable; 
 INSERT INTO Table1(Column1,Column2..) SELECT Column1,Column2.. FROM Table2 [WHERE ] 

Vous pouvez essayer ce code

 insert into #temp select Product_ID,Max(Grand_Total) AS 'Sales_Amt', Max(Rec_Amount) ,'','' from Table_Name group by Id 

la requête ci-dessus ne fonctionne que si nous avons créé une table clients avec des colonnes correspondantes du client

 INSERT INTO clients(c_id,name,address)SELECT c_id,name,address FROM customer