【发布时间】:2021-05-20 19:10:59
【问题描述】:
看看我的 sqlfiddle:
http://sqlfiddle.com/#!9/60ffc4(已编辑)
我正在尝试执行的代码:
UPDATE inventory SET
product_name = CONCAT((SELECT name FROM products_and_packaging
WHERE product_id = (SELECT product_id FROM inventory
WHERE inventory_id = 196)), ' 100g Bunch')
WHERE inventory_id = 196
我正在寻找的结果是将库存表中的product_name 从 NULL 重命名为“Flowers 100g Bunch”,其中 product_id = 196。
我收到 #1093 错误(您不能在 FROM 子句中指定目标表 'inventory' 进行更新)
注意这里有类似问题的答案: You can't specify target table for update in FROM clause
MySQL Error 1093 - Can't specify target table for update in FROM clause
但是,由于建议的内部连接,我尝试应用这些解决方案并提出完全相同的错误。任何指向正确方向的指针都会很棒。
【问题讨论】: