关于mysql严格模式的开启、关闭

由于项目中对一些默认值设置问题,以及种种原因,mysql数据库需要使用非严格模式开发(mysql最近的版本默认是开启严格模式的)。

linux下mysql服务下操作步骤是:

1、进入mysql服务

2、执行set操作修改,我们项目是直接设置为''

mysql> set global sql_mode='';

这种方法修改,当前会话失效后,这个修改就没意义了,建议修改配置文件的方式修改

3、修改后,不需要重启mysql服务,立即生效

4、检查是否生效,执行sql 

select @@sql_mode;

 

通过配置文件修改:

linux找my.cnf文件

window的修改办法是找my.ini

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

 

严格模式主要用以下场景

  • 不支持对not null字段插入null值
  • 不支持对自增长字段插入”值
  • 不支持text字段有默认值

评论