簡體   English   中英

MySQL內部聯接以更新現有表

[英]MySQL inner join to update an existing table

我有一個名為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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM