项目中update操作时create_time会发生变化,而我们并没有修改create_time

1、场景

在项目中执行update操作时没有修改create_time,但是每次操作create_time
都会发生改变,并且是格林威治时间和东八区的时间此相差8个小时。

2、问题定位

使用mybatis-plus生成的updateById()方法和自己编写的XML方法进行update
操作时效果是一样的,但是两种方式打印出来的sql都没有去修改create_time。

==============  Sql Start  ==============
Execute ID  :org.scrm.coupon.mapper.CouponMapper.updateById
Execute SQL :
UPDATE coupon 
SET tenant_id = ?,
coupon_type_id = ?,
coupon_type_name = ?,
coupon_rule_id = ?,
NAME = ?,
describtion = ?,
image_url = ?,
discount = ?,
face_value = ?,
coupon_cost = ?,
inventory_type = ?,
is_group = ?,
use_range_type = ?,
business_dept = ?,
online_mall = ?,
online_room_reservation = ?,
coupon_effect_type = ?,
coupon_not_use_type = ?,
use_with_other_coupon = ?,
use_with_other_activity = ?,
use_wechat_card_package = ?,
update_time = ? 
WHERE
	id = ? 
	AND is_deleted = 0

Execute Time:7 ms
==============  Sql  End   ==============

由此来看问题不是出在sql的编写上。

3、解决

通过分析sql基本上可以确定问题是出在数据库表对应字段的设置上
在这里插入图片描述
在这里插入图片描述
对比两张图片可以发现create_time字段勾选了根据当前时间戳更新,也就是说只要当前数据发生变化create_time就会根据当前时间戳计算出一个时间并替换原来的值;所以我们只需要去掉这个勾选问题就解决了。

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值