MySQL sql_mode设置不生效,为何?

查看sql_mode:

clipboard.png

设置sql_mode:

SET sql_mode = 'NO_UNSIGNED_SUBTRACTION,NO_ENGINE_SUBSTITUTION';

再次查看:

clipboard.png

退出,重启MySQL,在进入查看设置的又回去了

clipboard.png

这是怎么回事?

阅读 25.3k
4 个回答
新手上路,请多包涵

你通过客户端设置的,是会话级别的,重启当然失效了,要想全局级别的就需要在mysql配置文档里边修改

1、SET global sql_mode = 'NO_UNSIGNED_SUBTRACTION,NO_ENGINE_SUBSTITUTION';
2、配置my.cnf的[mysqld]下增加配置:sql_mode = NO_UNSIGNED_SUBTRACTION,NO_ENGINE_SUBSTITUTION

找到mysql的配置文件(my.ini或my.cnf),查找 sql-mode 然后在下面复制出来一行

sql-mode="NO_UNSIGNED_SUBTRACTION,NO_ENGINE_SUBSTITUTION"

重启mysql服务,再次查看就好啦!

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题