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合作時,就要不心了,首先要判斷傳入要刪除的條件是不是爲空。寫在這裏,以提醒自己吧!

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