查看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