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

调用存储过程 如图三![]()
执行后的结果,如图四:
表中所有数据全部更新;
经过一番搜索 调试,最终发现只需要给更新的表格 加个别名即可;
修改后的语句如图五:
调用存储过程后的结果如图六、七:
只更新了id为50的那一条。
博客讲述了在使用存储过程时,一个简单的SQL更新语句错误地更新了整个表的数据。问题在于没有为表格指定别名,导致更新操作影响了所有行。通过为表格添加别名,成功地限制了更新范围,只更新了目标ID为50的记录。这提醒我们在编写SQL语句时要注意正确指定表名和别名,确保数据操作的准确性。
近日一个业务 需要用存储过程实现,其中有一句只是简单的通过id更新字段的语句,但是调用存储过程中发现,会更新表格所有数据,如下图:
图一:表中现有数据
需要更新的字段是红框里的;
图二 存储过程截图如下(红框里的更新语句):

调用存储过程 如图三![]()
执行后的结果,如图四:
表中所有数据全部更新;
经过一番搜索 调试,最终发现只需要给更新的表格 加个别名即可;
修改后的语句如图五:
调用存储过程后的结果如图六、七:
只更新了id为50的那一条。

被折叠的 条评论
为什么被折叠?