on duplicate key update的作用是先看insert中的內容是否存在,如果存在就執行後邊update中的語句.
注意:前提是該錶要有主鍵索引.
表結構:
新增不存在的資料
源表資料
新增一條不存在的資料
insert into students values(3,'源資料',18) on duplicate key update sname='修改了源資料',age=19;
結果為:
新增一條已經存在的資料
insert into students values(3,'源資料',18) on duplicate key update sname='修改了源資料',age=19;
結果為:
再次執行已經存在的資料
影響結果為0了.
MySQL實現如果存在就更新,不存在就寫入
最近的業務中,有這樣乙個需求 如果資料存在就更新,不存在就寫入,一般情況下是需要先查詢,後判斷是更新還是寫入的,需要進行兩次io操作。所以為了減少同步時間,第乙個思路是使用併發,第二種思路就是應該儘量減少請求mysql的次數,這裡將講講第二種思路。正常情況下實現 如果存在就更新,不存在就寫入的偽 偽...
Sql server如果存在就更新,不存在就插入
sql不同於mysql那樣,有單獨的乙個命令來執行上述操作,比如在mysql中就可以這樣寫 replace into demo in a,b,c values 123,2,4 在mysql中這是乙個原子操作,如果這條資料存在,就先刪除在插入,不存在就直接插入.要注意的是需要有乙個唯一的主鍵支援,如果...
ORACLE如果存在表就刪除不存在就建立
最近做資訊採集,總是需要建立臨時表,一同連線8個庫同時開展。但是oracle裡面沒有像sqlserver那樣的 if exists select from dbo.sysobjects where id object id n dbo hy bscdnm j and objectproperty i...