文档首页/
数据库和应用迁移 UGO/
用户指南/
语法转换指南/
转换错误码/
MySQL To GaussDB 转换错误码/
U0400035:GaussDB M兼容TIMESTAMP类型不支持'0000-00-00 00:00:00'作为默认值
更新时间:2025-06-04 GMT+08:00
U0400035:GaussDB M兼容TIMESTAMP类型不支持'0000-00-00 00:00:00'作为默认值
描述
数据库类型与版本
- 源库类型与版本:MySQL 5.5、5.6、5.7、8.0版本。
- 目标库类型与版本:GaussDB M兼容。
语法示例
当MySQL未启用严格模式(即sql_mode中不包含NO_ZERO_DATE)时,允许TIMESTAMP类型的字段保存'0000-00-00 00:00:00'值,但是GaussDB M兼容TIMESTAMP类型的取值范围为:1970-01-01 00:00:01' UTC ~ 2038-01-19 03:14:07' UTC,不支持'0000-00-00 00:00:00'。如下示例在GaussDB M兼容中将不支持。
create table test_timestamp ( id int, c_timestamp timestamp not null default '0000-00-00 00:00:00' );
改造建议
修改“TIMESTAMP类型'0000-00-00 00:00:00'值的转换”转换配置项,将'0000-00-00 00:00:00'转换为'1970-01-02 00:00:00'。
在MySQL中通常用'0000-00-00 00:00:00'表示该字段的值尚未被明确设定,或者在某些情况下,表示无效的日期时间值,但是如果业务中使用了该值做判断,则转换后需要排查业务将相关的判断替换成转换后的时间日期值。