如何在 MySQL 中将数据从一个表复制到另一个新表?

我想在 MySQL 中将数据从一个表复制到另一个表。

表1(现有表) :

aid
st_id
from_uid
to_gid
to_uid
created
changed
subject
message
link

表2(新表)

st_id
uid
changed
status
assign_status

我想将表1中的一些数据字段复制到表2中。

这可以通过使用 MySQL 查询来完成吗?

336411 次浏览
SELECT *
INTO newtable [IN externaldb]
FROM table1;

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

最好的选择是在 mysql 中使用 INSERT... SELECT 语句。

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

这个可以满足你的要求:

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

如果要包括表1中的所有行。否则,如果只想添加 table1的子集,可以在末尾添加 WHERE语句。

您可以很容易地从另一个表中获取数据。

Mysql 查询是:

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


其中,这些值是从表2复制到表1的吗

如果您不想列出字段,并且表的结构相同,您可以这样做:

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

或者如果希望创建具有相同结构的新表:

CREATE TABLE new_tbl [AS] SELECT * FROM orig_tbl;

参考插入选择 ; 创建表选择的参考

INSERT INTO Table1(Column1,Column2..) SELECT Column1,Column2.. FROM Table2 [WHERE <condition>]

只有当我们创建了具有匹配的客户列的客户表时,上面的查询才有效

INSERT INTO clients(c_id,name,address)SELECT c_id,name,address FROM customer
CREATE TABLE newTable LIKE oldTable;

然后,复制数据

INSERT INTO newTable SELECT * FROM oldTable;

你可以试试这个代码

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

您应该首先创建表2。

insert into table2(field1,field2,...)
select field1,field2,....
from table1
where condition;

如果表已经存在,您可以尝试 插入 table _ name select * from old _ story;

如果表不存在,您应该尝试 像 old _ table 一样创建 table _ name; 插入 table _ name select * from old _ story;

$sql _ query = “ REPLACE INTO customerdeletelist SELECT * FROM customerDetails WHERE account _ number = ‘ $account _ number’& & customer _ number = ‘ $customer _ number’& & updateDate = ‘ $updateDate’”;

$shift = mysqli _ query ($con,$sql _ query) ;

如果有人经常这样做-你可以尝试使用这个工具。不稳定,但准备 https://github.com/morkva-vladyslav/database-donor