表1-列: ID, 日期
table2-列: ID, 日期, img, 验证, 主持人 标签, 访问
表1-1200行
table2-1000行
我想将缺失的列从table2复制到table1(img,auth,moder,tags,访问)。
无论值如何(这些都是测试数据,与某一行上的值无关)。
我首先尝试在table1中创建缺少的列,然后:
insert into table1 (img, auth, moder, tags, visits) select img, auth, moder, tags, visits from table2;
但是这会将新行插入到table1中。我不需要新行-只需添加具有table2中数据的新列即可。
答案 0 :(得分:2)
看起来您想要的是一个 update ,而不是插入内容,因为您实际上并不希望添加新记录,只需修改已经存在的记录即可。
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;
答案 1 :(得分:1)
使用更新
update table1
join table2 on table1.id=table2.id and table1.date=table2.date
set tabl1.img=tabl2.img, table1.auth=table2.auth, table1.moder=table1.moder,
table1.tags=table2,tags, table1.visits=table2.visits