PHP V6 单商户常见问题——数据库模式修改 sql-mode

数据库模式修改 sql-mode

问题现象

很多小伙伴在本地部署后访问站点会报下图这种错误:

数据获取失败:SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column nc_saas.SysUserRole.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

问题原因

这是因为在MySQL 5.7后,MySQL默认开启了SQL_MODE严格模式,对数据进行严格校验。我们需要修改数据库配置

解决方案

一、本地部署数据库修改

1. 打开配置文件

打开本地部署软件phpstudy,侧边栏选择设置,点击文件位置,选择MySQL

2. 编辑 my.ini 文件

弹出的文件夹中双击打开my.ini文件

3. 修改 sql_mode

找到sql_mode(注意:有点显示的是sql_mode,有点显示的是sql-mode两者都可以),将sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES改为

复制代码
sql_mode=' '
4. 重启 MySQL

修改完成后,重启mysql

二、宝塔部署数据库修改

1. 选择 MySQL 软件

在宝塔侧边栏选择软件商店,搜索mysql,选中相应的数据库,点击设置

注意:要修改哪个站点的数据库,就选择该站点的数据库版本号

2. 搜索 sql-mode

点击配置修改,按住Ctrl+F键搜索sql-mode(注意:有点显示的是sql_mode,有点显示的是sql-mode两者都可以)

3. 修改配置

将sql-mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_VALUE_ON_ZERO改为

复制代码
sql-mode=' '
4. 保存配置

修改后点击保存

5. 重启 MySQL
相关推荐
Java源头18 小时前
PHP 身份证二要素检测
开发语言·php
yoyo_zzm19 小时前
PHP vs Java:后端语言终极选择指南
java·spring boot·后端·架构·php
yoyo_zzm21 小时前
五大编程语言对比:PHP、C、C++、C#、易语言
c语言·c++·php
不会摸鱼的小鱼2 天前
WSL 安装 Ubuntu 22.04 到指定磁盘
数据库·postgresql·php
淼淼爱喝水2 天前
DVWA和Pikachu命令注入漏洞检测实验
安全·web安全·php·pikachu·dvwa
专注VB编程开发20年2 天前
json和python元组,列表,字典对比
开发语言·python·json·php
怀旧,2 天前
【Linux网络编程】15. Reactor 反应堆模式
linux·网络·php
Dylan的码园2 天前
2026年免费远程控制软件哪个好?ToDesk向日葵UU远程免费版横评,不限次数不限时长
服务器·开发语言·php
dog2502 天前
解析几何的力量(1)
服务器·开发语言·网络·php
号码认证服务2 天前
如何让来电显示公司名代替陌生数字号码?企业号码认证开通指南
服务器·c语言·网络·经验分享·智能手机·云计算·php