首页 > 数据库技术 > 详细

mysql遇到的问题

时间:2019-09-30 12:59:15      阅读:66      评论:0      收藏:0      [点我收藏+]

1、Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column
https://www.cnblogs.com/da19951208/p/9566221.html
select @@sql_mode;
global 的sql_mode的值都为:
  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说明:
  only_full_group_by :使用这个就是使用和oracle一样的group 规则, select的列都要在group中,或者本身是聚合列(SUM,AVG,MAX,MIN) 才行,其实这个配置目前个人感觉和distinct差不多的,所以去掉就好 。

 解决:
  执行以下两个命令:

mysql> set global sql_mode=‘STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION‘;
mysql> 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‘;
  这两个命令,去掉 sql_mode 的 ONLY_FULL_GROUP_BY  


2.Lock wait timeout exceeded; try restarting transaction是锁等待超时。
是当前事务在等待其它事务释放锁资源造成的。

解决方法:

在mysql查询中执行以下指令

select * from information_schema.innodb_trx

找出与其他几个有参数不同的线程,找出他的线程号mysql_thread_id

执行命令kill +线程号mysql_thread_id即可解决。

注意:mysql连接后,操作的过程中不要突然停止程序,不然很可能出现这个错误。

 

mysql遇到的问题

原文:https://www.cnblogs.com/xl717/p/11612231.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!