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
相关推荐
niucloud-admin2 小时前
PHP SAAS 框架常见问题——后台报错 class not exists:app\listener\system\ShowCustomerListener
php
BingoGo2 小时前
Laravel + Vue 免费可商用 PHP 管理后台 CatchAdmin V5.3.0 发布:支持 AI Agent 开发
开源·php·laravel
aq553560020 小时前
数字资源分发的技术革命与未来趋势
java·开发语言·python·php
JSON_L21 小时前
Laravel-Admin 语言改为中文(2)
php·laravel
阿桂有点桂21 小时前
Laravel队列再docker中开启和配置
docker·php·laravel
眷蓝天1 天前
K8S 单 Master 集群在 openEuler 24.03 上的部署指南
容器·kubernetes·php
AI-小柒1 天前
磅上线!DataEyes 聚合平台正式接入 GPT-Image-2,开启多模态 AI 生成全新纪元
大数据·开发语言·数据库·人工智能·gpt·php
JSON_L1 天前
PHP 使用天地图
php·fastadmin
a里啊里啊1 天前
软考-软件评测师:知识点整理(四)——信息安全知识
服务器·网络·计算机网络·php·哈希算法·软考·加密算法