mysql严格模式的开启、关闭

关于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字段有默认值

如何开启MYSQL的严格模式

1.可以通过执行SQL语句来开启,但是只对当前连接有效,下面是SQL语句:

set sql_mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION";

2.通过修改MySQL的配置文件,在配置文件中查找sql-mode,将此行修改成为:

sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

如果查找不到sql-mode=则在[mysqld]下加入即可,推荐第二种方法,可以一劳永逸。
posted @ 2018-11-17 15:38  Kingfan  阅读(8646)  评论(0编辑  收藏  举报