为了账号安全,请及时绑定邮箱和手机立即绑定

为什么CALL removeUserById(3),18条记录就删除了???

为什么CALL removeUserById(3),18条记录就删除了???

正在回答

2 回答

因为存储过程中删除语句为:delete from user where id = id;本意是条件为 Id 字段的值 等于参数 id 的值,但是因为名称相同,所以数据库并不能识别两个 id 是不同的意思,它认为的是 id = id 永远为真,所以就删除了整张表。

1 回复 有任何疑惑可以回复我~

命令中有一个 id = id,数据库区分不开你这些ID中的具体含义,它默认为该数据表的id字段

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
与MySQL的零距离接触
  • 参与学习       396886    人
  • 解答问题       3353    个

本课程涵盖全部MySQL数据库的基础,学习MySQL数据库的基础知识

进入课程

为什么CALL removeUserById(3),18条记录就删除了???

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信