課程
/數(shù)據(jù)庫
/MySQL
/與MySQL的零距離接觸
為什么CALL removeUserById(3),18條記錄就刪除了???
2015-06-24
源自:與MySQL的零距離接觸 8-5
正在回答
因為存儲過程中刪除語句為:delete from user where id = id;本意是條件為 Id 字段的值 等于參數(shù) id 的值,但是因為名稱相同,所以數(shù)據(jù)庫并不能識別兩個 id 是不同的意思,它認為的是 id = id 永遠為真,所以就刪除了整張表。
命令中有一個 id = id,數(shù)據(jù)庫區(qū)分不開你這些ID中的具體含義,它默認為該數(shù)據(jù)表的id字段
舉報
本課程涵蓋全部MySQL數(shù)據(jù)庫的基礎(chǔ),學習MySQL數(shù)據(jù)庫的基礎(chǔ)知識
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2016-07-07
因為存儲過程中刪除語句為:delete from user where id = id;本意是條件為 Id 字段的值 等于參數(shù) id 的值,但是因為名稱相同,所以數(shù)據(jù)庫并不能識別兩個 id 是不同的意思,它認為的是 id = id 永遠為真,所以就刪除了整張表。
2015-07-08
命令中有一個 id = id,數(shù)據(jù)庫區(qū)分不開你這些ID中的具體含義,它默認為該數(shù)據(jù)表的id字段