mysql - 在不插入新行的情况下复制两个表之间的列

标签 mysql

表 1 - 列: ID, 日期,

表 2 - 列: ID, 日期, 图像, 授权, 现代, 标签, 访问

表 1 - 1200 行
表 2 - 1000 行

我想将缺失的列从 table2 复制到 table1(img、auth、moder、tags、visits)。

regardless of values(这都是测试数据,与某行的值无关)。

我首先尝试在 table1 中创建缺失的列,然后:

insert into table1 (img, auth, moder, tags, visits) select img, auth, moder, tags, visits from table2;

但这会将新行插入到 table1 中。我不想要新行 - 只需添加包含来自 table2 的数据的新列。

最佳答案

看起来你在这里想要的是更新,而不是插入,因为你实际上并不想添加新记录,只是修改已经存在的记录。

UPDATE table1 t1
INNER JOIN table2 t2
    ON t1.id = t2.id AND t1.date = t2.date
SET
    t1.img = t2.img,
    t1.auth = t2.auth,
    t1.moder = t2.moder,
    t1.tags = t2.tags,
    t1.visits = t2.visits;

关于mysql - 在不插入新行的情况下复制两个表之间的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55155508/

相关文章:

MySQL 组/顺序在 5.7 中表现不同

php - 自动增加发票号码,每月重置为零

php - 用于删除临时帐户的 Cronjob?

MySQL group by 没有聚合时

java - JSP web 应用程序数据库连接无法加载

database-replication - mysql复制: remove consumed logs

mysql - 从数据文件恢复 MySQL 数据库(Windows 到 Unix)

mysql - Rails 在架构加载时损坏二进制字段默认值

php - 定期用查询填充 View 数据

c++ - C++平台上的ADO可以用来查询一定范围的记录吗?例如。每个查询 100 条记录?