摘要:
下文講述mssql中,插入資料時,如果存在則更新,否則就插入資料的方法分享
實驗環境:sql server 2017
mssql中,我們可以採用 merge into 關鍵字實現此功能,
當兩者匹配成功,則執行***語句,否則執行其它語句,達到插入資料時的判斷操作,
具體操作方法如下所示:
createtable
[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...