加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 数据库 > MySql > 正文

mysql – 错误#1093 – 您无法在FROM子句中为更新指定目标表’relProductsPrices’

发布时间:2020-05-23 20:04:14 所属栏目:MySql 来源:互联网
导读:我正在升级和优化旧的表结构.为了正确使用替换,我删除了干扰2列新唯一密钥的旧僵尸条目.查询: DELETE from `relProductsPrices` where `ID` in (SELECT scanA.ID from `relProductsPrices` as scanA inner join `relPro

我正在升级和优化旧的表结构.
为了正确使用替换,我删除了干扰2列新唯一密钥的旧僵尸条目.

查询:

 DELETE from `relProductsPrices` where `ID` in 

  (SELECT scanA.ID from `relProductsPrices` as scanA 
             inner join `relProductsPrices` as scanB 

   where scanA.ID        < scanB.ID 
     and scanA.product   = scanB.product
     and scanA.priceName = scanB.priceName);

错误:

#1093 - You can't specify target table 'relProductsPrices' for update in FROM clause

我不确定如何正确地将它放入一个mySQL查询中?

我希望这个问题没有重复的条目,我似乎无法找到类似的,适应性的条目.有关于此错误的问题,但我在这里根本没有更新查询,大多数人所说的解决方案(创建一个子选择)已经事先由我完成了.

提前致谢!

最佳答案 试试这个:

DELETE FROM `relProductsPrices` 
WHERE `ID` IN ( 
     SELECT 
       tmp.ID 
     FROM (
       SELECT 
         scanA.ID 
       FROM 
         `relProductsPrices` as scanA 
       INNER JOIN `relProductsPrices` as scanB 
         ON scanA.ID        < scanB.ID 
         AND scanA.product   = scanB.product
         AND scanA.priceName = scanB.priceName
     ) as tmp
 );

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读