表 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/