MySQL 5.6.5之前版本不支持多条DEFAULT CURRENT_TIMESTAMP和ON UPDATE CURRENT TIMESTAMP
創(chuàng)建數(shù)據(jù)表時(shí)失敗,提示以下信息:
09-13-2016 07:47:49 ERROR o.h.t.h.SchemaUpdate [https-jsse-nio-443-exec-6] HHH000388: Unsuccessful: create table users (id bigint not null auto_increment, createdOn DATETIME DEFAULT CURRENT_TIMESTAMP, token varchar(33) not null unique, updatedOn DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, userName varchar(65) not null unique, primary key (id))09-13-2016 07:47:49 ERROR o.h.t.h.SchemaUpdate [https-jsse-nio-443-exec-6] Invalid default value for 'createdOn'
查找原因,發(fā)現(xiàn)是由于以下導(dǎo)致的:
createdOn DATETIME DEFAULT CURRENT_TIMESTAMP
updatedOn DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE
在http://www.mysqltutorial.org/MySQL-timestamp.aspx中有句話:
Note that since mysql 5.6.5, the DATETIME data type also has automatic initialization and automatic update feature. In addition, the DEFAULT_CURRENT_TIMESTAMP and ON UPDATE CURRENT TIMESTAMP attributes can be applied to multiple columns, not just 1 column in the previous versions.
即對(duì)于5.6.5之前的MySQL版本,不支持多條同時(shí)使用 DEFAULT CURRENT_TIMESTAMP和ON UPDATE CURRENT TIMESTAMP特性,使用mysql -v查了下我現(xiàn)在使用的mysql版本為5.5.49,即不支持多條同時(shí)使用。因此將mysql更新至5.6.31,問(wèn)題解決。
作者:逗逼熊本熊
鏈接:https://www.jianshu.com/p/15b03cdfeaa7
來(lái)源:簡(jiǎn)書(shū)
簡(jiǎn)書(shū)著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請(qǐng)聯(lián)系作者獲得授權(quán)并注明出處。
總結(jié)
以上是生活随笔為你收集整理的MySQL 5.6.5之前版本不支持多条DEFAULT CURRENT_TIMESTAMP和ON UPDATE CURRENT TIMESTAMP的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 狗一天睡几个小时(和狗做了四个小时)
- 下一篇: mysql deadlock found