mysql5.7.20 sql mode_MySql5.7版本问题sql_mode=only_full_group_by的完美解决方案

查看sql_modemysql

select @@sql_mode

查询出来的值为:web

ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

咱们须要去掉ONLY_FULL_GROUP_BY这个参数;sql

网上提供的解决方法:

去掉ONLY_FULL_GROUP_BY,从新设置值:数据库

set @@sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

上面是改变了全局sql_mode,对于新建的数据库有效。对于已存在的数据库,则须要在对应的数据下执行:socket

set sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';

laragon上我试过并不能解决!!!svg

laragon上的解决方法:

1.打开 菜单->mysql->my.ini 而后找到 找到mysqldcode

[mysqld]

port=3306

socket=/tmp/mysql.sock

key_buffer_size=256M

max_allowed_packet=512M

table_open_cache=256

sort_buffer_size=1M

read_buffer_size=1M

read_rnd_buffer_size=4M

myisam_sort_buffer_size=64M

thread_cache_size=8

query_cache_size=16M

secure-file-priv=""

explicit_defaults_for_timestamp=1

datadir= "D:/laragon/data/mysql/mysql"

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

在他的最下面添加一行,如上xml

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

最后重启mysql,完美解决问题!ci

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值