報(bào)錯(cuò)原因
1.mysql 5.7中的sql_mode的值為:
2.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
查看
#登錄你的數(shù)據(jù)庫(kù)
mysql -uroot -p
#執(zhí)行下面的命令
SELECT @@sql_mode;
#看到的結(jié)果
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
方案一:(親測(cè)有效,需要重啟mysql服務(wù))
修改mysql的my.cnf配置 ,在里面加上下面這段,如果配置里有sql_mode 只需要修改和下面一樣就好
sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
centos7 mysql的配置文件修改 ,如下圖,并保存
vim /etc/my.cnf
image.png
方案二:(我的沒(méi)有成功)
#登錄你的數(shù)據(jù)庫(kù)
mysql -uroot -p
#執(zhí)行下面的命令
SELECT @@sql_mode;
#看到的結(jié)果
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
# 重新設(shè)置sql_mode的值
set SESSION sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION ';