Agregar fecha dividida a la tabla de registro

ilustrar

Debido a que el contenido del registro es demasiado grande, debe cambiar el nombre de la tabla xxxx1 a: tabla xxxx1_202307 y volver a crear la tabla xxxx1 como una tabla nueva.

Lógica:
(1) Determinar si existe la tabla xxxx1_202307 renombrada
(2) Si no existe, cambiar la tabla llamada xxxx1 a la tabla xxxx1_202307
(3) Crear la tabla xxxx1

El archivo mapper.xml es el siguiente

Determinar si la tabla de la base de datos existe

<!--  判断数据库是否存在  -->
    <select id="selectTableByDatabaseExists" resultType="java.lang.String">
        SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME= #{tableName} ;
    </select>

Modificar el nombre de la tabla a otro nombre de tabla

<update id="updateTableName">
        ALTER TABLE ${tableName} RENAME  ${tableName}_${date}
    </update>

borrar tabla

     <!--  删除表  -->
    <update id="dropTable">
        drop table ${tableName}_${date}
    </update>

Crear tabla de ejemplo

    <update id="createUploadDataLogTable">
        CREATE TABLE `upload_data_log` (
          `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增id',
          `create_by` varchar(64) NOT NULL COMMENT '创建人',
          `create_date` datetime NOT NULL COMMENT '创建时间',
          `update_by` varchar(64) NOT NULL COMMENT '更新人',
          `update_date` datetime NOT NULL COMMENT '更新时间',
          PRIMARY KEY (`id`) USING BTREE
        ) ENGINE=InnoDB AUTO_INCREMENT=79 DEFAULT CHARSET=utf8 COMMENT='历史记录';
    </update>

Supongo que te gusta

Origin blog.csdn.net/Ls66666Ls/article/details/131662156
Recomendado
Clasificación