在 MySQL 中,如何将包含所有记录的字段从 TABLE1
复制到对应于主键的 TABLE2
,即:EMPLOYEE no.
?
最佳答案
如果您的意思是要更新一个表的列使用另一个表的列,那么这里有一些选项:
加入:
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中的left join解决方案。
请注意,在所有情况下,都假定 table1
中的一行只能匹配 table2
中的一行。
关于MYSQL,将选定字段从一个表复制到另一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11168402/