【发布时间】:2019-09-05 07:09:44
【问题描述】:
我在连接两个表并输出两个表的一些列时触发了这个查询:
SELECT B.option_id, B.product_id, A.title, B.identifier
FROM `catalog_product_option_title` A JOIN
`catalog_product_option` B
ON A.option_id = B.option_id
WHERE A.title = "Breite"
结果:
现在我需要在结果中的identifier 列上输入示例值xyz,无处不在。我会继续手动执行此操作。
如何使用 MySQL 中的 update 语句来解决这个问题,而无需手动更改?
我试过这样:
UPDATE `catalog_product_option`
SET identifier = 'xyz'
WHERE option_id IN (
SELECT A.option_id
FROM `catalog_product_option_title` A
JOIN
`catalog_product_option` B
ON A.option_id = B.option_id
WHERE A.title = "Breite"
)
但是这个查询的模拟返回,这将改变 0 行。
更新
我在没有模拟的情况下调用了sql,现在我得到了这个错误:
1093 - 表“catalog_product_option”被指定了两次,既作为“更新”的目标,又作为数据的单独源
【问题讨论】:
标签: mysql join sql-update