做网站需要什么电脑,专业企业网站设计网络公司,登录企业邮箱入口,济南建设工程招投标管理网cust_id误刷问题
问题原因#xff1a;错误的update语句#xff0c;导致本来更新一条数据的#xff0c; 结果更新了全表
解决措施#xff1a;找DBA从备份库#xff0c;将生产库cust_id为0的数据#xff0c;恢复到误刷前一秒的cust_id
后续改进#xff1a;
禁止以任意…cust_id误刷问题
问题原因错误的update语句导致本来更新一条数据的 结果更新了全表
解决措施找DBA从备份库将生产库cust_id为0的数据恢复到误刷前一秒的cust_id
后续改进
禁止以任意方式直接执行sql如果需要修改线上数据应使用针对单边单行操作的业务型接口如有批量数据 应提jira交DBA执行sql问题解析
有问题的sql update deal_order set cust_id1234 and order_id666666666
可以看到这个sql中没有where条件 而是使用的and,在执行过程中会被解析为 update deal_order set cust_id(1234 and order_id666666666)
注意(1234 and order_id666666666)是一个布尔类型的值。 and 前后都为大于0的值那么整体会是1 否则整体为0 。
在此sql执行之后order_id666666666的记录 cust_id会被刷为1其余的记录cust_id会全部刷为0