zoukankan      html  css  js  c++  java
  • mysql实际碰到问题汇总

    问题1:SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'muwms.middle_goods_trace.size' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
    出现这种问题 直接修改my.cnf 即可
    在mysqld下面添加sql_mode="" 然后保存 -》重启mysql 完活

    问题2:ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
    产生这个问题的原因是因为在mysql中产生了事务A,执行了修改的语句,比如: update t1 set aget=18 where id=1;此时事务并未进行提交,事务B开始运行,也同样需要修改id为1的用户的年龄: update t1 set aget=20 where id=1; 那么此时事务B会等待事务A结束释放写锁才能执行成功,否则则会等待一段时间。
    解决方法:https://www.cnblogs.com/topicjie/p/7323248.html

    问题3:1292-Truncated incorrect DOUBLE value

    产生原因执行 update middle_goods_XX set sku=100763 where sku=100762 ,middle_goods_XX这张表的sku是varchar类型

    解决方法update middle_goods_XX set sku='100763' where sku='100762'

    问题4:跟新操作时出现 You can't specify target table for update in FROM clause

    比如我执行
    UPDATE woms_wms_allocation_order
    SET STATUS = 'success'
    WHERE
    number IN ( SELECT number FROM woms_wms_allocation_order WHERE STATUS = 'process' AND type = 'repair' )
    解决方法:select的结果再通过一个中间表select多一次,就可以避免这个错误
    将上述语句的select语句加一个中间表,具体如下:
    update woms_wms_allocation_order set status='success' where number in ( select number from (
    select number from woms_wms_allocation_order where status='process' and type='repair' ) a )

  • 相关阅读:
    GCC 常用参数 休子的日志 网易博客
    分享:dos2unix 6.0.3 发布
    编写字符串反转函数 小小外星人的技术博客 博客频道 CSDN.NET
    gcc 搜搜百科
    GCC 常用参数 休子的日志 网易博客
    说说IUnitOfWork~DbContext对象的创建应该向BLL层公开
    JS~什么是用心体会,Coder追求的是什么
    基础才是重中之重~值类型和引用类型
    Yslow23条规则
    说说IUnitOfWork~我的IUnitOfWork+Repository架构
  • 原文地址:https://www.cnblogs.com/ryanlamp/p/10797666.html
Copyright © 2011-2022 走看看