mysql用存储过程通过传入的参数id更新字段数据,结果更新了表中所有该字段的数据

博客讲述了在使用存储过程时,一个简单的SQL更新语句错误地更新了整个表的数据。问题在于没有为表格指定别名,导致更新操作影响了所有行。通过为表格添加别名,成功地限制了更新范围,只更新了目标ID为50的记录。这提醒我们在编写SQL语句时要注意正确指定表名和别名,确保数据操作的准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

近日一个业务 需要用存储过程实现,其中有一句只是简单的通过id更新字段的语句,但是调用存储过程中发现,会更新表格所有数据,如下图:
图一:表中现有数据

需要更新的字段是红框里的;

图二 存储过程截图如下(红框里的更新语句):

调用存储过程 如图三

执行后的结果,如图四:

表中所有数据全部更新;

经过一番搜索 调试,最终发现只需要给更新的表格 加个别名即可;
修改后的语句如图五:

调用存储过程后的结果如图六、七:

 

 只更新了id为50的那一条。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

2022拾捌

如果能帮到你,就打赏一下吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值