|
以上为例,
currentFollowUser为null的时候,是否需要给默认值。
如果不给默认值,就意味着不变。
但是,没有当前跟进人,实际上需要把 当前值更新为 NULL,或者0。
数学归纳,所有的情况。
逻辑推理,考虑所有的可能性。
事件的因素,每一个潜在因素。
只要有一丁点未知的事情,被有意或无意忽略了,就埋下了灾难的种子。
|
A表和B表,维护了关联关系,互相冗余了对方的id。
从信息的简化角度,A表维护B表的id即可。
从查询的角度,B表维护A表的id,方便B表数据快速关联查询到A表的id。
上述代码的逻辑:查询A表所有,包含了绑定关系的用户,然后根据此关系map去刷新B表冗余的id。
问题:
A 12 绑定 B 11.
此时 A 12 重新绑定 B 10.
那么,实际代码:只重新更新B表的 B 10 - A 12,漏掉了 B 11 → NULL。
严谨表述:一次绑定关系的变化,涉及到2个表,3条记录的变化。 新的关系:A12->B10,B10->A12。老的关系清除:B11->NULL。
当时,为什么要这么写,为了“性能”。
有绑定关系的才维护双向绑定关系,听起来也没毛病。
实际则不然。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- awee.cn 版权所有 湘ICP备2023022495号-5
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务