Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL内部联接以更新现有表_Mysql_Join - Fatal编程技术网

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

您希望更新现有记录,而不是插入新记录。