sql中like的用法,做删除操作时应该注意的问题

本文揭示了SQL中LIKE条件在与DELETE语句结合使用时的一个潜在风险:当LIKE条件为空时,可能会误删整个表。通过实例解释了如何避免这种错误,并强调了在执行类似操作时进行条件验证的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

sql中的like操作,以下这个问题,关于like在delete中的使用.

千万要注意的.如果like条件为空,会清空你的表,like在与select配合使用时,不注意这个问题也不会出现问题,假如我们做搜索,当条件为空时,这样写:


select id,title,content from table where title like '%手机%'; 

这样会把含有"手机"的信息查询出来,但如果搜索时,用户不填写任何条件,那此时的SQL会变成

select id,title,content from table where title like '%%';

这样搜索出来的结果是全部的信息,而like在与delete 一起使用时,就要注意了,前天做了一个包含关键词进行删除的操作,语句这样写:

delete table where title like '%手机%'; 

这样可以把标题中含有“手机”的那条信息删除,但是如果传入的参数为空,语句便变成了这样:

delete table where title like '%%';

这样,可以删除整个表了,这是测试提出来的bug,吓了我一跳,于是以后记住了,由于之前的like与select 搭配习惯了,没有想到这个BUG,下次一见到like与delete合作时,就要不心了,首先要判断传入要删除的条件是不是为空。写在这里,以提醒自己吧!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值