博客
关于我
Mysql分表后同结构不同名称表之间复制数据以及Update语句只更新日期加减不更改时间
阅读量:792 次
发布时间:2023-02-12

本文共 737 字,大约阅读时间需要 2 分钟。

场景描述

在SpringBoot + Mybatis的框架下,如何实现大规模数据量的分表记录与查询,并对同结构但不同表名的分表进行数据复制操作,同时确保日期字段新增一天,时间字段保持不变。

具体需求包括:

- 将源表(如bus_vehicle_position_record20230731)中的数据复制到目标表(如bus_vehicle_position_record20230801)中。 - 在复制过程中,日期字段增加一天,时间字段保持原样。

实现步骤说明

以下是实现上述需求的具体方法:

  • 数据复制操作
    在SQL脚本中,使用全局替换功能将源表名替换为目标表名。例如,将bus_vehicle_position_record20230731替换为bus_vehicle_position_record20230801。
  • 执行复制操作
    使用数据库管理工具(如Navicat)将修改后的SQL脚本应用到目标数据库中执行。确保目标表结构与源表一致,包括字段定义和数据类型。
  • 日期字段处理
    在目标表中,执行更新操作,将record_date字段增加一天。可以使用以下SQL语句:
  • UPDATE bus_vehicle_position_record20230801 SET record_date = DATE_ADD(record_date, INTERVAL 1 DAY)
    1. 时间字段保持不变
      注意,DATE_ADD函数会同时增加日期部分,而时间部分保持不变。因此,在执行更新前,请确保目标表的时间字段存储格式与源表一致。

    2. 以上方法可以实现源表数据的安全复制,同时确保日期字段正确增加一天,时间字段保持不变。这种方式适用于大规模数据迁移场景,能够有效地避免数据丢失或逻辑错误。

    转载地址:http://ilbfk.baihongyu.com/

    你可能感兴趣的文章
    mysql的decimal与Java的BigDecimal用法
    查看>>
    MySql的Delete、Truncate、Drop分析
    查看>>
    MySQL的Geometry数据处理之WKB方案
    查看>>
    MySQL的Geometry数据处理之WKT方案
    查看>>
    mysql的grant用法
    查看>>
    Mysql的InnoDB引擎的表锁与行锁
    查看>>
    mysql的InnoDB引擎索引为什么使用B+Tree
    查看>>
    MySQL的InnoDB默认隔离级别为 Repeatable read(可重复读)为啥能解决幻读问题?
    查看>>
    MySQL的insert-on-duplicate语句详解
    查看>>
    mysql的logrotate脚本
    查看>>
    MySQL的my.cnf文件(解决5.7.18下没有my-default.cnf)
    查看>>
    MySQL的on duplicate key update 的使用
    查看>>
    MySQL的Replace用法详解
    查看>>
    mysql的root用户无法建库的问题
    查看>>
    mysql的sql_mode参数
    查看>>
    MySQL的sql_mode模式说明及设置
    查看>>
    mysql的sql执行计划详解
    查看>>
    mysql的sql语句基本练习
    查看>>
    Mysql的timestamp(时间戳)详解以及2038问题的解决方案
    查看>>
    mysql的util类怎么写_自己写的mysql类
    查看>>