将某些列值从一个表复制到另一个表

时间:2017-03-04 07:48:35

标签: mysql

在两个表中,我都有一个名为date的列(日期时间 - 当前时间戳) 我需要将该列的前20个值从表posts复制到表banners

insert into banners set date SELECT date FROM posts WHERE id < 21;
update banners set date SELECT date FROM posts WHERE id < 21;

在这两种情况下我都有错误:
Column count doesn't match value count at row 1

这个错误是什么意思以及我如何复制这些值?

1 个答案:

答案 0 :(得分:1)

JOINUPDATE一起使用。

<强>查询

update `banners` t1
from `posts` t2
on t1.`id` = t2.`id`
set t1.`date` = t2.`date`
where t2.`id` < 21;