MSSQL 插入資料時候,如果存在則更新的方法分享

2022-04-02 12:00:32 字數 1474 閱讀 4599

摘要:

下文講述mssql中,插入資料時,如果存在則更新,否則就插入資料的方法分享

實驗環境:sql server 2017

mssql中,我們可以採用 merge into 關鍵字實現此功能,

當兩者匹配成功,則執行***語句,否則執行其它語句,達到插入資料時的判斷操作,

具體操作方法如下所示: 

create

table

[maomao365.com

](keyid

intidentity

,info

varchar(80))

goinsert

into

[maomao365.com

](info)

values('

sqlblog'),

('sqlserver

'),('

maomao365.com')

---merge into實現如果存在,則更新

---如果不存在,則刪除

merge into

[maomao365.com]a

using (

select

2as keyid_b, '

other'as

info_b ) b

on ( a.keyid =

b.keyid_b)

when matched then

update

set a.info= b.info_b --

更新when

not matched then

insert (info) values(b.info_b); --

-插入go

select

*from

[maomao365.com]go

merge

into

[maomao365.com]a

using (

select

20as keyid_b, '

new info'as

info_b ) b

on ( a.keyid =

b.keyid_b)

when matched then

update

set a.info= b.info_b --

更新when

not matched then

insert (info) values(b.info_b); --

-插入go

select

*from

[maomao365.com]go

truncate

table

[maomao365.com

]drop

table

[maomao365.com

]

**:

MyBatis 如果不存在則插入

依靠資料庫鎖是非常安全的方式,比方說,分布式定時任務,除了使用quartz不讓各個機器上同時跑乙個定時任務之外,最好在資料庫也加乙個保險。插入一條資料之前,判斷表中有沒有這條資料,如果沒有才插入,這樣就只會有一條資料插入成功。insert into inno index id,depart name...

mssql不存在便插入存在不執行操作

參考 在mssql中,在記錄不存在時插入記錄,如果存在則不執行操作 相關語句 建立表create table users userid varchar 50 primary key,username nvarchar 20 age intnot null 直接插入 insert into users...

存在就不插入 sqlserver插入資料

1 指定所要插入資料的列 insert into table name 列1,列2,values 值1,值2,insert into stu xm,xb,csrq,sfzh,age,lxdh,address,jxj,create time values 張三 男 1995 5 6 101101199...