sql語句 存在即更新,否則insert

2022-07-24 01:06:32 字數 676 閱讀 6012

專案中遇到的需求:

處理tmall推送來的order資訊時,要實時更新table裡面的資訊,這種情況下會涉及到:

若是訂單生成的訊息,那麼推送來的id在table裡面是沒有的,就應該執行insert操作

若不是訂單生成的訊息,則執行更新

如果記錄存在就更新,不存在就插入。sql如下:

if

exists ( select

1from

[order

]where tmallorderid =

'20180505000193')

update

[order

]set

[customerremark]=

'更新更新

'where tmallorderid =

'20180505000193';

else

insert

[order

]( tmallorderid, customername, customermessage )

values ( '

20180505000193

', '

小明摩納哥

', '

ddddddd

' );

資料參考:

fighting!----thf

mysql實現「存在即更新,不存在即插入」

方法1 使用replace關鍵字 replace是insert的增強版,可以實現插入的資料和已存在的資料發生主鍵或者唯一鍵重複,則刪除已存在的資料,再實現插入,如果不重複,則直接插入資料。結合mybatis批量處理,用法如下 replace into schooltable id,described...

Mysql插入資料,存在則更新,否則插入

mysql表中,有個聯合唯一索引 create table news visite id int 11 notnull auto increment comment 主鍵 news id bigint 11 default null comment 資訊id user id bigint 11 de...

mysql存庫時存在就更新不存在就insert

可以使用replace into 但是一定要主鍵索引,而且會先刪掉資料庫中的資料再新增,索引,很不實用 可以用一種很巧妙的方法,表t1 id name remark 1 xcc 0 可以這樣做,先獲取到update完了返回的資料,如果返回的count為0就是不存在,為1就是存在更新,問題在於upda...