mysql 建表异常

问题

1293 - Incorrect table definition; there can be only one TIMESTAMP column with CURRENT TIMESTAMP in DEFAULT or ON UPDATE clause


操作环境

这里使用 MySQL5.5.62 版本

MySQL建表异常日志_mysql


错误原因

  • 在数据库新建了俩个字段,新建时间更新时间 ,都是以当前时间写入(CURRENT_TIMESTAMP)。

原因是由于mysql版本问题,5.5 和 5.6 在 TIMESTEMP 的行为上有所不同,5.6.5 之前的版本不支持多个CURRENT_TIMESTAMP 默认值。


解决办法

方法一:升级mysql版本

方法二:如果你有两个timestamp字段,把第一个设定为current_timestamp,而第二个没有设定默认值,MySQL能成功建表,但是反过来就不行

我的方法

更新时间随当前时间戳更新,创建时间不给默认值,由程序写入