admin管理员组

文章数量:1667043

在我执行我的建表语句的时候出现了一个1064的错误,在这里做一个记录和总结。
一般遇到1064的错误都是因为自己SQL语句写的不正确导致的,但我这个实属少见,在这里分享出来,希望有小伙伴遇到和我一样的错误可以及时修正。

(
  `id` varchar(32) NOT NULL PRIMARY KEY,
  `account` DOUBLE(16,2),
  `updatetime` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP,
  `sign` int(10)
)ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

然后数据看提示我在`updatetime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,这行出现了错误,由于我的建表语句是从别的数据库中导出来的,所以应当没有问题,但是后来我意识到了可能是版本冲突的问题,查了一些资料,发现是因为timestamp在低版本是不支持有数据长度的。
还有一个数据库低版本timestamp的错误就是低版本的mySql不支持两个timestamp的默认值,两个根据当前时间更新。所以才导致出问题。

本文标签: 报错语句错误类型sql