mysql5.7下的timestampn Error : Invalid default value for 'timestamp'
表格创建是爆了个错
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
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· DeepSeek火爆全网,官网宕机?本地部署一个随便玩「LLM探索」
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 上周热点回顾(1.20-1.26)