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即可。

相关推荐
小吕学编程24 分钟前
MySQL分区(Partition)实战指南
数据库·mysql
墨客希1 小时前
Django 学习指南
数据库·django·sqlite
e***58231 小时前
使用Django Rest Framework构建API
数据库·django·sqlite
s***38561 小时前
【玩转全栈】----Django基本配置和介绍
数据库·django·sqlite
BS_Li1 小时前
【Linux系统编程】进程控制
java·linux·数据库
多多*1 小时前
分布式中间件 消息队列Rocketmq 详解
java·开发语言·jvm·数据库·mysql·maven·java-rocketmq
z***67771 小时前
postgresql链接详解
数据库·postgresql
v***91301 小时前
MYSQL的第一次
数据库·mysql
施嘉伟1 小时前
解决 Oracle 11g Data Guard ORA-16047 的实战经验
数据库·oracle
启明真纳1 小时前
用 Logstash 把 PostgreSQL 数据实时导出到 Kafka
数据库·postgresql·kafka