insert into... where not exists插入避免重复的使用

插入时为了方便,更是为了安全(避免查询==0? insert 这种方式),我们使用where not exists

下面代码:


-- 创建测试表
create table testage(
id int not null,
age int );

-- 插入三条数据
insert into testage(id,age) values(1,22);

insert into testage(id,age) values(2,23);

insert into testage(id,age) values(3,24);

-- 这里插入一条
insert into testage(id,age) 
select 4,25 from dual
where not exists(select count(1) from testage where age=25);

猜一下执行结果?

是的,显示执行成功0,为什么?

我们单独执行这条sql,结果如图:

0存在吗?是存在的。需要更换为此种写法:

因为在插入之前,age=25是不存在的,查询是null

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值