zoukankan      html  css  js  c++  java
  • mysql常见问题

    1、执行sql卡死

      命令来检查和终止线程。

      首先登录mysql,然后使用: show processlist; 查看当前mysql中各个线程状态。

      [sql] view plain copy
     
    1. mysql> show processlist;  
    2. +------+------+----------------------+----------------+---------+-------+-----------+---------------------   
    3. | Id   | User | Host                 | db             | Command | Time  | State     | Info  
    4. +------+------+----------------------+----------------+---------+-------+-----------+---------------------   
    5. | 7028 | root | ucap-devgroup:53396  | platform       | Sleep   | 19553 |           | NULL   
    6. | 8352 | root | ucap-devgroup:54794  | platform       | Sleep   |  4245 |           | NULL  
    7. | 8353 | root | ucap-devgroup:54795  | platform       | Sleep   |     3 |           | NULL  
    8. | 8358 | root | ucap-devgroup:62605  | platform       | query   |  4156 | updating  | update t_shop set  |  

      以上显示出当前正在执行的sql语句列表,找到消耗资源最大的那条语句对应的id.

      然后运行kill命令,命令格式如下:

      [sql] view plain copy
     
    1. kill id;  
    2. - 示例:  
    3. kill 8358  

      杀掉即可。

    2、You can't specify target table 'enn_project_info' for update in FROM clause(不能在同一表中查询的数据作为同一表的更新数据)

      错误语句:

       

      出错原因:不能select同一张表的某些值再update这张表

      正确语句:

       

      解决办法:将select出来的结果再用中间表select一下,就规避了改问题

      PS:该问题只存在MySql中

  • 相关阅读:
    layui 3种导航栏
    SQL语句内做除法得出百分比
    JS 日期比较方法
    JDK 13 的 12 个新特性,真心涨姿势了
    怎么实现单点登录?面试必问!
    厉害了,Apache架构师们遵循的 30 条设计原则
    面试官问线程安全的List,看完再也不怕了!
    Java 类在 Tomcat 中是如何加载的?
    Redis 21问,你接得住不?
    String hashCode 这个数字,很多人不知道!
  • 原文地址:https://www.cnblogs.com/lmmblogs/p/7687136.html
Copyright © 2011-2022 走看看