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 au 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 ajouter une instruction WHERE à la fin si vous souhaitez ajouter 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 insertion choisie ; référence pour créer une table
Vous pouvez facilement obtenir des données d'une autre table. Vous devez ajouter des champs que vous voulez.
La requête mysql est:
INSERT INTO table_name1(fields you want)
SELECT fields you want FROM table_name2
où, les valeurs sont copiées de table2 à table1
CREATE TABLE newTable LIKE oldTable;
Ensuite, pour copier les données sur
INSERT INTO newTable SELECT * FROM oldTable;
La meilleure option consiste à utiliser l'instruction INSERT ... SELECT dans mysql.
SELECT *
INTO newtable [IN externaldb]
FROM table1;
INSERT INTO Table1(Column1,Column2..) SELECT Column1,Column2.. FROM Table2 [WHERE <condition>]
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
Vous devriez d'abord créer la table2.
insérer dans la table2 (champ1, champ2, ...) sélectionner champ1, champ2, .... dans table1 où condition;
SI la table est existé. vous pouvez essayer d'insérer dans nom_table sélectionner * from old_tale;
SI la table n'existe pas. vous devriez essayer de créer la table nom_table comme old_table; insérer dans nom_table sélectionner * de old_tale;
la requête ci-dessus ne fonctionne que si nous avons créé une table de clients avec les colonnes correspondantes du client
INSERT INTO clients(c_id,name,address)SELECT c_id,name,address FROM customer