表格創建是爆了個錯
Error : Invalid default value for 'timestamp'
參考:http://www.jb51.net/article/71107.htm
這版本導致的。
mysql配置文件
mv /usr/local/mysql/suport-file/default-my.cnf /etc/my.cnf
explicit_defaults_for_timestamp=1
如果還報1055錯的話,改一下sql_mode
查看當前的sql_mode
select @@sql_mode;
show variables like 'sql_mode%'
sql_mode='ONLY_FULL_GROUP_BY,NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,
ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,PIPES_AS_CONCAT,ANSI_QUOTES'
復制一份,去掉ONLY_FULL_GROUP_BY,NO_ZERO_IN_DATE,NO_ZERO_DATE 順便把默認時間不能為0的也去掉,因為我之后還要遷移舊版本的數據。
里面就有很多這種設置
在my.cnf 中的mysqld中
sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
如果使用 set globle或者set session 的話只在當前會話有效,重啟mysql 之后將會失效
=============
之后我使用lnmp包中的mysql5.7,發現/etc/my.cnf下mysqld沒有sql_mode,而且通過命令修改重啟后還會失效,那么自己加上去吧
sql_mode=
explicit_defaults_for_timestamp = true
重啟mysql
參考文章:
http://www.shangxueba.com/jingyan/1609295.html