mysql> select * from t;
+----+
| id |
+----+
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
| 6 |
| 7 |
| 8 |
| 9 |
| 10 |
+----+
10 rows in set (0.00 sec)
mysql> delete from t where id in (select id from t where id < 5);
ERROR 1093 (HY000): You can't specify target table 't' for update in FROM clause
mysql>
这样删除将报错,更改SQL语句为
mysql> delete from t where id in (select * from (select id from t where id < 5) tmp);
Query OK, 4 rows affected (0.00 sec)
以这样的形式即可删除。
再优化之,改为表连接模式:
mysql> delete t from t join (select id from t where id < 5) tmp on t.id=tmp.id;
Query OK, 4 rows affected (0.01 sec)
转自
http://hcymysql.blog.51cto.com/5223301/895517
分享到:
相关推荐
### MySQL Error 1405 解决方案详解 在日常使用MySQL数据库的过程中,可能会遇到各种错误提示,其中Error 1405(访问被拒绝,因为用户名或密码不正确)是一个较为常见的问题。本文将从该错误产生的原因入手,详细...
本章节将详细介绍 MySQL 错误代码的定义和使用方法,为数据库管理员和开发人员提供了一个详细的参考手册。 错误代码列表 下面是 MySQL 错误代码的部分列表: * Error 1000:SQLSTATE: HY000 (ER_HASHCHK) Message...
### MySQL ERROR 1045 (28000) 错误解析及解决方法 #### 错误概述 在MySQL数据库操作过程中,用户可能会遇到`ERROR 1045 (28000)`这一错误提示。该错误的具体含义为“访问被拒绝,原因是你对所需密码的用户账户...
综上所述,解决“Could not start the service MySQL Error 0”问题需要从多方面排查,包括系统权限、端口、依赖项、配置文件、服务注册、防火墙设置、服务启动类型、兼容性、数据库状态以及日志分析。根据实际情况...
Error 1062 是 MySQL 中一种常见的错误代码,可以通过清空数据表、修复数据表、检查数据表设计和检查数据导入等方法来解决。 在实际应用中,我们需要小心地处理数据表,以避免 Error 1062 的出现。同时,我们也可以...
MySQL 常见错误提示及解决方法 MySQL 是一个流行的开源关系数据库管理系统,但是在使用过程中,我们可能会遇到各种各样的错误提示。这些错误提示可能是由于数据库文件格式不正确、文件无法打开、创建表失败、数据库...
MySQL 处理添加外键时提示 Error 150 问题的解决方法 MySQL 中添加外键时,可能会遇到 Error 150 的问题,这个问题是 MySQL 本身的 bug,已经被报告到 MySQL 开发者列表中很多年了。然而,导致这个错误的原因却并...
标题中的"StatementInvalid: Mysql::Error: query: not connected"是一个常见的MySQL错误,提示数据库连接已断开,用户在尝试执行查询时遇到了问题。这个错误通常发生在以下几种情况: 1. **数据库连接未建立**:在...
error 日志当中的记录: [ERROR] Fatal error: Can’t open and lock privilege tables: Table ‘mysql.host’ doesn’t exist 从发了帖子,只有人看,没有人回复,看到这种情况只能自己解决问题了,自己动手...
### MySql 1067错误解决方法 在日常使用MySQL数据库的过程中,我们经常会遇到各种各样的问题,其中“1067错误”是较为常见的一种系统级别的错误提示。本篇文章将详细阐述MySQL 1067错误的具体含义、常见的触发场景...
本文将详细解析在安装MySQL时可能遇到的两种常见错误——Error Nr.2003和Error Nr.1045,并提供相应的解决策略。 ### Error Nr.2003:无法连接到MySQL服务器 #### 错误信息: > Can't connect to MySQL server on...
### 安装高版本MySQL与解决Error 2003及Error Nr.1364 #### 一、概述 本文将详细介绍如何安装高版本的MySQL,并针对在安装过程中可能出现的Error 2003(无法连接到MySQL服务器)及Error Nr.1364(字段...
Error Code: 2006 - MySQL server has gone away 最终找到原因,原来是MySQL导入大批量数据的时候超出了默认允许最大的数据包所以就提示2006 – MySQL server has gone away 于是找到my.cnf,在[mysqld]加入: max...
6. **使用日志排查**:查看MySQL的日志文件,如`error.log`,获取更详细的错误信息,帮助定位问题。 在处理1045错误时,应先确定问题的可能原因,再采取相应的解决步骤。如果问题依然存在,可能需要深入研究MySQL的...
主要介绍了MySQL ERROR 2013 (HY000)错误解决方法,错误提示全文ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 104,需要的朋友可以参考下
【MySQL服务器连接不成功之解决方法】 在使用MySQL数据库时,有时可能会遇到无法连接到服务器的问题,这可能是由于多种原因导致的。以下是一些常见的错误及其解决方案。 一、错误1067:进程意外终止 当MySQL...
解决这个问题需要对MySQL的用户权限进行适当的配置。 首先,错误1103的发生通常是由于MySQL的用户账户设置限制了远程访问。默认情况下,很多MySQL用户的`HOST`字段设置为`localhost`,这意味着这些用户只能在本地...
MySQL中的ERROR 1577错误通常出现在MySQL服务器升级之后,这是由于系统表在新版本中发生了变化,而旧版本的系统表结构未得到更新,导致的问题。此错误的完整信息是“ERROR 1577 (HY000): Cannot proceed because ...
在深入探讨解决方法之前,首先需要了解MySQL的权限管理系统。MySQL使用基于角色的访问控制(RBAC)机制,通过定义不同的权限级别来管理用户的访问权限。这些权限级别包括全局级、数据库级、表级和列级。 - **全局级...
解决此问题的方法有两种主要途径: 1. 修改MySQL的`user`表中的权限设置: 在出现问题的机器上,你需要以管理员身份登录MySQL,可以使用以下命令行登录(请替换`root`为你的用户名和`your_password`为你的密码):...