美文网首页
MySQL更新历史时间数据

MySQL更新历史时间数据

作者: Btone | 来源:发表于2018-07-27 11:22 被阅读0次

    问题描述:

    公司数据库为MySQL,其中数据表(operation_log)的create_time字段用于存储创建时间,类型为bigint,现有两种格式的数据,老数据格式为:20180727101010,新数据格式是我们日常所见的时间戳,导致程序需要特殊处理,所以就想将老数据统一成时间戳。

    解决思路:

    首先要确定2个问题:

    1、哪些数据需要更新?

    create_time的值大于当前时间的毫秒值的数据都需要更新。因为老数据的值的长度为14位,时间戳的值为13位。

    2、老数据如何转换为时间戳?

    涉及到MySQL中的函数。DATE_FORMAT及UNIX_TIMESTAMP函数。

    DATE_FORMAT函数作用为格式化时间;

    UNIX_TIMESTAMP函数作用为日期时间转化为秒值。

    功能实现:

    UPDATE operation_log SET create_time = UNIX_TIMESTAMP(DATE_FORMAT(create_time, '%Y-%m-%d %H:%i:%s')) * 1000 WHERE create_time > UNIX_TIMESTAMP() * 1000;


    相关文章

      网友评论

          本文标题:MySQL更新历史时间数据

          本文链接:https://www.haomeiwen.com/subject/mwuwmftx.html