mysql 建表异常
问题
1293 - Incorrect table definition; there can be only one TIMESTAMP column with CURRENT TIMESTAMP in DEFAULT or ON UPDATE clause
操作环境
这里使用 MySQL5.5.62 版本
错误原因
- 在数据库新建了俩个字段,
新建时间
和更新时间
,都是以当前时间写入(CURRENT_TIMESTAMP)。
原因是由于mysql版本问题,5.5 和 5.6 在 TIMESTEMP 的行为上有所不同,5.6.5 之前的版本不支持多个CURRENT_TIMESTAMP 默认值。
解决办法
方法一:升级mysql版本
方法二:如果你有两个timestamp字段,把第一个设定为current_timestamp,而第二个没有设定默认值,MySQL能成功建表,但是反过来就不行
我的方法
更新时间随当前时间戳更新,创建时间不给默认值,由程序写入