MySQL常见错误总结
Posted zplogo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 )
以上是关于MySQL常见错误总结的主要内容,如果未能解决你的问题,请参考以下文章
mysql Access denied for user root@localhost错误解决方法总结(转)
连接MySQL出现错误:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)(代码片段