微信小程序换肤功能实现方法详细步骤与探讨
732
2022-09-02
Mysql01---一个bug引发的血案
不小心搞了个bug,差点造成严重事故,记录这血泪教训。
背景
CREATE TABLE `test` ( `id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '自增id', `name` string NOT NULL DEFAULT '' COMMENT '姓名', `age` int NOT NULL DEFAULT 0 COMMENT '年龄')
目的:修改name="小明"的age值,age=18
过程
错误写法
UPDATE test SET age=18and name='小明'
正确写法:
UPDATE test SET age=18where name='小明'
后果
对每一行执行,set age = (18 and name=‘小明’) 1、在MySQL中,0被认为是false,非零值被认为是true 2、and作为’与运算符’,进行逻辑判断 3、18->True,name='小明’在每一行做单独判断 4、最终,除了小明的年龄被正确置为18之外,其余人的年龄都是False->置为0
线上这种操作风险太大了,造成了几乎不可逆的后果。总之,吃一堑长一智,下次测试环境看下执行计划,受影响的行有多少,线上操作,慎之又慎!!!
2021-09-26 南京市江宁区九龙湖
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~