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

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合作时,就要不心了,首先要判断传入要删除的条件是不是为空。写在这里,以提醒自己吧!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章