课程
/数据库
/MySQL
/与MySQL的零距离接触
为什么CALL removeUserById(3),18条记录就删除了???
2015-06-24
源自:与MySQL的零距离接触 8-5
正在回答
因为存储过程中删除语句为:delete from user where id = id;本意是条件为 Id 字段的值 等于参数 id 的值,但是因为名称相同,所以数据库并不能识别两个 id 是不同的意思,它认为的是 id = id 永远为真,所以就删除了整张表。
命令中有一个 id = id,数据库区分不开你这些ID中的具体含义,它默认为该数据表的id字段
举报
本课程涵盖全部MySQL数据库的基础,学习MySQL数据库的基础知识