繁体   English   中英

MySQL:如何将没有ID的一个表中的列复制到另一个表中?

[英]MySQL: How to copy column from one table without id into another table?

是否可以将TABLE2中的“哈希”列复制到TABLE1中的“哈希”列中?

谢谢你的帮助! 保罗,亲切的问候

TABLE 1
+----+--------+----------+
| id | name   | hash     |
+----+--------+----------+
| 21 | John   |          |
| 22 | Ann    |          |
| 23 | Peter  |          |
+----+--------+----------+

TABLE 2
+----------+
| hash     |
+----------+
| vfrtycfg |
| gtytghjg |
+----------+

我需要得到以下结果:

+----+--------+----------+
| id | name   | hash     |
+----+--------+----------+
| 21 | John   | vfrtycfg |
| 22 | Ann    | gtytghjg |
| 23 | Peter  |          |
+----+--------+----------+
UPDATE table1 AS t1
JOIN (SELECT @rownum AS rownum, hash, @rownum := @rownum + 1
      FROM table2
      CROSS JOIN (SELECT @rownum := MIN(id) FROM table1) AS var) AS t2
ON t1.id = t2.rownum
SET t1.hash = t2.hash

演示

子查询将rownum列添加到table2 ,其中包含从table1的最小ID开始的顺序ID。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM