mysql的datetime和时间戳的问题

简化问题场景:

1、将表A的数据,导入到表B,表A中的字段UPDATETIME为datetime类型,下图为数据库展示值

2、将A表数据导出为JSON格式,此时数据中UPDATETIME都为时间戳,下图为JSON字符串展示值

3、将这笔JSON串,转化为Map<String,Object> ,然后插入表B时,报错

目前是处理很多表的数据传输,不是特定的表A与表B,也不是特定的UPDATETIME字段,可能datetime类型的字段有很多,大神们,这种情况有什么好的解决方式不 ?

当做字符串处理,数据库会自动转为datatime

可以再java转换一下

Date time = new Date(时间撮);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String current = sdf.format(time);

把这个字符串插入

你如果只是做数据迁移,而且在一个库,直接insert into select,没必要导出文件再导入!

 

插眼



```java
 <select id="getDateTimeColumn" parameterType="java.lang.String" resultType="java.lang.String">
        SELECT
            COLUMN_NAME
        FROM
            INFORMATION_SCHEMA.COLUMNS
        WHERE
            TABLE_SCHEMA = ( SELECT DATABASE ( ) )
            AND ( DATA_TYPE = 'datetime' OR DATA_TYPE = 'timestamp' OR DATA_TYPE = 'date' OR DATA_TYPE = 'time')
            AND TABLE_NAME = #{tableName}
    </select>

```