zoukankan      html  css  js  c++  java
  • MySQL常见错误总结

    1)DELETE语句不能直接使用表的别名

      执行insert,update,delete语句时,我们为了方便常给表加上别名,这在Oracle下完全没有问题,但是MySQL的delete语句后面不可以直接使用表的别名,会提示语法错误,如下面这条语句就是错误的,

      DELETE FROM `user` a WHERE a.USER_NAME = 'lisi'; -- 错误的 

      正确的写法,DELETE a FROM `user` a WHERE a.USER_NAME = 'lisi',在delete和from之间加表的别名

    2)删除一张表的某些记录时,where条件是通过查询这张表获得的导致报错You can't specify target table 's' for update in FROM clause

      执行SQL语句时出现这个错误。原因是在更新这个表和数据时又查询了它,而查询的数据又做了更新的条件。以前ORACLE上面没有这个错误。

    解决方法1.新建一张临时表,删除之后,把这张临时表删除。2.第二种方法,在where条件外再包一层查询就可以避免这种错误如

    DELETE FROM tempA WHERE tid NOT IN (
        SELECT t.tid FROM (
          SELECT MAX(tid) AS tid FROM tempA GROUP BY name,age
        ) t
    )
  • 相关阅读:
    耶鲁大学——斯金纳理论基础
    耶鲁大学——弗洛伊德(基础)
    for input 'WID' 报错
    选中当前行wid
    微信支付
    vue.js列表渲染项目实例
    批量删除
    DIV 局部刷新
    DIV块刷新
    CMD DOS命令
  • 原文地址:https://www.cnblogs.com/zplogo/p/9839259.html
Copyright © 2011-2022 走看看