因为数据库字段挺多,我就打个比方
详细信息表 list
用户表 user 有一个字段 num
我执行一个方法,该方法每次往list中插入一条数据时,同时往user表的num+1
上个月大概有20W的注册用户,我分别把这些用户的list表中的数量求了出来,并且与user表中num做了对比。
对比结果是大概有70人的list数据的数量,比num所记录的数量少大概10条左右。
因为方法是先后执行的,大概是这样的先后顺序
public function test(){
insert $data;
update num+1;
}
先往list里面插入,后更新的user num字段
我想问一下,想这种数据不同步的情况都会在什么情况下发生。求别让贴代码。
你这个应该要使用 事务
当 insert $data 或 update num+1 失败时就撤销操作
是否用了事务处理? 是否判断插入成功后再更新字段
insert $data;失败了但仍然执行了update num+1;就会不一致啦
是否用了事务处理? 是否判断插入成功后再更新字段
insert $data;失败了但仍然执行了update num+1;就会不一致啦
手机号重复,写入值和字段类型不一致 都可能失败的
你写入数据库前应该过滤用户数据
手机号重复,写入值和字段类型不一致 都可能失败的
你写入数据库前应该过滤用户数据