tomcat项目部署mysql报错3065

报错:

SQL: SELECT DISTINCT ct.serial_no AS serial_no FROM xzfy_case_table AS ct WHERE ct.case_status != ? AND ct.registrant_id = ? ORDER BY application_date DESC LIMIT ?, ?

Cause: java.sql.SQLException: Expression #1 of ORDER BY clause is not in SELECT list, references column 'xzfy.ct.application_date' which is not in SELECT list; this is incompatible with DISTINCT

; uncategorized SQLException; SQL state [HY000]; error code [3065]; Expression #1 of ORDER BY clause is not in SELECT list, references column 'xzfy.ct.application_date' which is not in SELECT list; this is incompatible with DISTINCT; nested exception is java.sql.SQLException: Expression #1 of ORDER BY clause is not in SELECT list, references column 'xzfy.ct.application_date' which is not in SELECT list; this is incompatible with DISTINCT

本地 在application_date前加上ct.可以正常运行不报错

互联网 在application_date前加上ct.还是报错

原因:

通过show VARIABLES查看mysql的详细配置

sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'

是因为ONLY_FULL_GROUP_BY的存在

解决办法:(永久关闭ONLY_FULL_GROUP_BY)

1.找到配置文件/etc/my.cnf(或则关联文件夹找到mysql-server.cnf)

2.在上述文件内的[mysqld]后追加

sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'

3.保存配置文件后,重启Mysql即可。

相关推荐
b78gb2 小时前
电商秒杀系统设计 Java+MySQL实现高并发库存管理与订单处理
java·开发语言·mysql
奥尔特星云大使2 小时前
CentOS 7 安装 MySQL 8
mysql·centos·mysql 8
lang201509283 小时前
MySQL FIPS模式:安全合规全解析
mysql
一只叫煤球的猫5 小时前
建了索引还是慢?索引失效原因有哪些?这10个坑你踩了几个
后端·mysql·性能优化
呼哧呼哧.5 小时前
Spring的核心思想与注解
数据库·sql·spring
21号 16 小时前
9.Redis 集群(重在理解)
数据库·redis·算法
爬山算法6 小时前
Redis(73)如何处理Redis分布式锁的死锁问题?
数据库·redis·分布式
嘗_6 小时前
sql特训
数据库·sql
wan5555cn7 小时前
周末之美:慢下来,拥抱生活的温柔
数据库
yumgpkpm7 小时前
华为鲲鹏 Aarch64 环境下多 Oracle 、mysql数据库汇聚到Cloudera CDP7.3操作指南
大数据·数据库·mysql·华为·oracle·kafka·cloudera