MySQL内部联接以更新现有表
我有一个名为MySQL内部联接以更新现有表,mysql,join,Mysql,Join,我有一个名为empty的表,如下所示,它只有paperkey值,其他所有内容都是空的 author | year | conference | paperkey 1234 我还有另一个名为base的表,如下所示: author | year | conference | paperkey Andrew 1999 KDD 1234 我想将在表base中检索到的值插入表empty 我试图如下查询,但没有
empty
的表,如下所示,它只有paperkey值,其他所有内容都是空的
author | year | conference | paperkey
1234
我还有另一个名为base
的表,如下所示:
author | year | conference | paperkey
Andrew 1999 KDD 1234
我想将在表base
中检索到的值插入表empty
我试图如下查询,但没有成功。如何修改此查询以获得正确的结果
insert into empty (author, year, conference)
select T1.author, T1.year, T1.conference
from base as T1
inner join empty as T2 on T1.paperkey=T2.paperkey;
我认为您希望根据
paperkey
更新empty
update empty e
join base b on b.paperkey = e.paperkey
set
e.author = b.author,
e.year = b.year,
e.conference = b.conference
您希望更新现有记录,而不是插入新记录
update empty T2
join base T1 on T1.paperkey = T2.paperkey
set T2.author = T1.author,
T2.year = T1.year,
T2.conference = T1.conference
您希望更新现有记录,而不是插入新记录。