转载自 http://home.blueidea.com/space.php?uid=164225&do=blog&id=6586
Mysql 1093 号错误 及解决
要做这样一个功能:
主表中有一ID对应副表中多个记录(一对多)。
现在给一组新值,如果在副表中存在,则保留,不存在,则插入(插入不在本话题讨论范围内)。如果旧记录的某个值不存在于这组新值中,则删除。比方:新值: a,b,f 以存在的旧值:a,b,c,e,现在要把c,e删除了,把 f 插进去。
开始我这样写:
DELETE FROM USNOWER_ART_KEYWORD WHERE ID IN (
SELECT
A.ID
FROM
USNOWER_ART_KEYWORD A LEFT JOIN
USNOWER_KEYWORD B ON A.KEYWORD = B.ID
WHERE
A.ART = 13 AND
B.KEYWORD NOT IN ('usnower','fashion')
);
mysql 报错:ERROR 1093 (HY000): You can't specify target table 'USNOWER_ART_KEYWORD' for update in FROM clause
以前做ORACLE的时候,碰到过变异表的问题:http://xling.blueidea.com/archives/2006/3012.shtml,我想这个也许和那个有点相似吧。
查了查百度,我做了一点修改:
DELETE FROM USNOWER_ART_KEYWORD WHERE ID IN (
SELECT C.ID FROM(
SELECT
A.ID
FROM
USNOWER_ART_KEYWORD A LEFT JOIN
USNOWER_KEYWORD B ON A.KEYWORD = B.ID
WHERE
A.ART = 13 AND
B.KEYWORD NOT IN ('usnower','fashion')
) C
);
即多出来一层SELECT。
问题解决。
分享到:
相关推荐
MySQL 常见错误提示及解决方法 MySQL 是一个流行的开源关系数据库管理系统,但是在使用过程中,我们可能会遇到各种各样的错误提示。这些错误提示可能是由于数据库文件格式不正确、文件无法打开、创建表失败、数据库...
MySQL 的常见错误解决 MySQL 是一个广泛使用的关系数据库管理系统,但是在使用过程中经常会遇到各种错误,本文将介绍 MySQL 的常见错误解决方案。 一、在进入 MySQL 数据库时出错 在使用 MySQL 客户端连接数据库...
### MySQL服务无法启动的1067错误解决 在日常使用MySQL的过程中,用户可能会遇到一个常见问题:在尝试启动MySQL服务时出现“错误1067:进程意外中止”的提示。这一问题不仅困扰着初学者,对于有一定经验的开发者来...
### MySQL常见错误及解决方案 #### 问题1:使用MySQL CommandLine Client,出现闪一下然后窗口就消失的情况,如何解决? 在初次使用MySQL CommandLine Client时,可能会遇到一个常见的问题:客户端窗口短暂显示后...
MySQL 常见错误及解决方案 MySQL 是一个功能强大且广泛使用的关系型数据库管理系统,但是在使用 MySQL 时,用户经常会遇到一些错误和问题。以下是 MySQL 常见错误及解决方案: 1. 使用 MySQL Command Line Client...
Mysql 常见错误提示及解决方法 本文档总结了 Mysql 中常见的错误提示及解决方法,涵盖了文件格式不正确、文件无法打开、创建表失败、数据库已存在、数据库不存在、删除数据库文件失败、读取系统表中的记录失败、...
启动mysql出现2003错误的解决方案
本文将详细讲解如何查询MySQL错误信息以及JavaScript错误信息,并提供相关知识点。 首先,我们来了解一下如何查询MySQL错误信息。MySQL在执行SQL语句时,如果遇到语法错误、权限问题或逻辑错误等,会返回一个错误...
### MySql 1067错误解决方法 在日常使用MySQL数据库的过程中,我们经常会遇到各种各样的问题,其中“1067错误”是较为常见的一种系统级别的错误提示。本篇文章将详细阐述MySQL 1067错误的具体含义、常见的触发场景...
MySQL 服务1067错误多种解决方案 在 MySQL 服务器中,1067 错误是一种常见的错误,会导致 MySQL 服务无法启动或无法连接数据库。这种错误可能是由于多种原因引起的,例如 my.ini 文件配置错误、服务安装不正确、...
### MySQL连接错误解决 在安装MySQL之后,可能会遇到无法连接的问题,其中一种常见的错误提示是“Error 1045 Access denied for user 'root'@'localhost' (using password: YES)”。这个问题通常出现在尝试使用root...
本文将详细解析在安装MySQL时可能遇到的两种常见错误——Error Nr.2003和Error Nr.1045,并提供相应的解决策略。 ### Error Nr.2003:无法连接到MySQL服务器 #### 错误信息: > Can't connect to MySQL server on...
### MySQL常见错误提示及其解决方法 #### 1. 错误130:文件格式不正确 - **问题描述**:此错误表明遇到的文件格式不符合MySQL预期的标准。 - **解决方法**: - 检查文件是否被正确创建且格式正确。 - 使用`...
MySQL 发生系统错误1067的解决方法 MySQL 是一种广泛使用的关系数据库管理系统,然而,在安装和使用 MySQL 过程中,可能会出现一些错误,例如系统错误1067。本文将详细介绍 MySQL 发生系统错误1067 的解决方法,...
- **1045**: MySQL错误编号,用于标识具体的错误类型。 - **28000**: SQL状态值,用于进一步描述错误类型。在这个案例中,28000表示的是认证失败相关的错误。 #### 常见原因分析 1. **用户名或密码错误**:最常见...
### MySQL连接的相关问题及解决办法 #### 一、MySQL服务启动问题及解决方法 在Windows环境中,MySQL服务可能会出现无法启动的问题,表现为无法连接数据库、无法停止或重启MySQL服务,即使重启计算机也无法解决。...
以下是一些常见的MySQL错误及其可能的解决方法: 1. 错误130:这通常意味着文件格式不正确。可能是因为尝试导入的数据文件与MySQL的期望格式不符。解决方案包括检查文件的格式,确保它是MySQL兼容的,例如CSV或SQL...
看了一下错误提示: 一直以为是MySQL密码或者是访问权限的问题。 困扰n天。。。 某天,突然想到3306端口号占用,自己也很不解 但是查看了一下端口号,发现,3306端口号,竟然有两个端口号在使用。。。 ps:查看端口...