【发布时间】:2013-01-17 00:14:44
【问题描述】:
我正在尝试修复一个我无法控制架构的不完整数据库,我需要找到丢失的条目并插入它们。
这是我得到的语法:
INSERT INTO
downloads (product_id, filename)
VALUES
(
products_id = ( SELECT id
FROM products
WHERE id NOT IN
( SELECT product_id
FROM downloads
)
),
filename = 'default.zip'
)
子查询单独工作正常,但上面抛出错误
#1093 - You can't specify target table 'download' for update in FROM clause
我已经查看了许多与此错误 (like this) 相关的 StackOverflow 问题,并且我认为有一种方法可以嵌套子查询,使其“creates an implicit temporary table, so it doesn't count as the same table you're updating”但我无法适应它。
如果我的方法效率低下也没关系,我很想看到一个接近我的语法的解决方案,但任何解决方案都会有所帮助。
【问题讨论】:
标签: mysql sql sql-insert mysql-error-1093