在MySQL中,如何将一个包含所有记录的字段从
TABLE1
复制到对应主键(例如雇员编号
)的TABLE2
?TABLE1
复制到对应主键(例如雇员编号
)的TABLE2
?UPDATE table1 AS t1
INNER JOIN table2 AS t2 ON t1.EmpoyeeNo = t2.EmployeeNo
SET t1.SomeColumn = t2.SomeColumn
或者它可以是一个左连接:
UPDATE table1 AS t1
LEFT JOIN table2 AS t2 ON t1.EmpoyeeNo = t2.EmployeeNo
SET t1.SomeColumn = t2.SomeColumn
这将实质上清空(设为NULL)那些没有匹配的值。
一个子查询:
UPDATE table1
SET SomeColumn = (
SELECT SomeColumn
FROM table2
WHERE EmployeeNo = table1.EmployeeNo
)
这与#1中的左连接解决方案等效。
请注意,在所有情况下,假定table1
中的一行最多只能匹配table2
中的一行。
试一试
INSERT INTO `table2` (`field_name2`) SELECT `field_name` FROM `table1`
将数据从一个表复制到另一个表的查询语句是:
INSERT INTO `table2` (`field1`, `field2`)
SELECT `field1`, `field2` FROM `table1`
如果您只想复制所选值,请在查询中使用where子句。
INSERT INTO `table2` (`field1`, `field2`)
SELECT `field1`, `field2` FROM `table1`
WHERE `field1` = condition
update
table1 t1
join table2 t2 on t2.field = t1.field
set
t1.field1 = t2.matchingfield
where
t1.whatever = t2.whatever
where t1.whatever = t2.whatever
过滤器的情况下正常工作。 - Pathrostable1
中的所有记录复制到table2
中。Insert into table2 select * from table1 where field1=condition
table1
中的_order_
列必须与table2
中的_order_
列完全匹配。 - bishopInsert into TableB (Col1, Col2 ,Col3)
Select Col1, Col2 ,Col3 from TableA
Insert into TableB (Col1, Col2, Col3)
Select * from TableA
INSERT INTO table2 (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM table1
WHERE condition;
如果需要,您可以添加“Where”条件。
谢谢!!!
向 table_1
插入数据(column-1
, column-2
),从 table_2
中选取列 column-1 和 column-2;
将交付日期、应用程序ID、下载大小和上传大小插入到交付表中,从交付摘要中选择Delivered、Appid、DownloadSize和UploadSize。