最近在某项目中发现用户充值了VIP之后老是莫名的丢失,由于用户的vip到期时间是使用timestamp类型字段记录在用户表中的,在更新用户表的时候该字段自动更新到当前时间导致用户VIP权限丢失。分析原因如下:
在MySQL严格模式下,如果创建timestamp的时候没有指定 not null 和默认值该字段被会自动更新更新时间变化
该特性非常危险,如过用于生产环境中可能造成很严重的后果,所以推荐创建数据表的时候全部指定not null 并指定默认值
最近在某项目中发现用户充值了VIP之后老是莫名的丢失,由于用户的vip到期时间是使用timestamp类型字段记录在用户表中的,在更新用户表的时候该字段自动更新到当前时间导致用户VIP权限丢失。分析原因如下:
在MySQL严格模式下,如果创建timestamp的时候没有指定 not null 和默认值该字段被会自动更新更新时间变化
该特性非常危险,如过用于生产环境中可能造成很严重的后果,所以推荐创建数据表的时候全部指定not null 并指定默认值