今天准备把后端写好的SpringBoot项目放到虚拟机上运行时,发现虚拟机上没有数据表,需要手动建表。于是我就开始了人生第一次在linux上使用mysql,它折磨了我一个下午才安装妥当。
建立表结构:
到此没有任何问题,而当我想要往里插入数据时,报了如下错误:
提示说字段‘createTime’不能为空。
经过一番查阅,发现跟mysql的一个系统变量值有关系。
explicit_defaults_for_timestamp
系统变量决定MySQL服务端对timestamp列中的默认值和NULL
值的不同处理方法。此变量自MySQL 5.6.6 版本引入,分为全局级别和会话级别,可动态更新,默认值为OFF。本文主要介绍该参数打开和关闭情况下对timestamp的影响 。