2017-03-04 190 views
1

在這兩個表中,我都有一個名爲date(datetime - 當前時間戳)的列。
我需要將表posts中該列的前20個值複製到表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

是什麼意思這個錯誤,我怎麼可以複製的價值?

+0

要插入的'banners'表新行或更新現有列? – Wanderer

+0

更好使用plsql代替直接的sql查詢 –

+0

@Ullas,我需要更新'banners'中的現有列。確實這是空列,但它存在。 – bonaca

回答

1

使用JOINUPDATE

查詢

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