使用join更新mysql
我知道这很简单,但我有心理障碍 我需要更新属于某个类别的所有产品。产品被分配到关联表中的类别 所以有点像使用join更新mysql,mysql,sql,Mysql,Sql,我知道这很简单,但我有心理障碍 我需要更新属于某个类别的所有产品。产品被分配到关联表中的类别 所以有点像 UPDATE product P1 SET myflag = 1 WHERE P1.productid IN ( SELECT CA.productid FROM category_associations CA WHERE CA.categoryid = '500' ) 有更好的方法吗?aJOIN通常会有最佳的执行计划,但是中的可能效率低下: UPDATE
UPDATE product P1
SET myflag = 1
WHERE P1.productid IN (
SELECT CA.productid
FROM category_associations CA
WHERE CA.categoryid = '500'
)
有更好的方法吗?a
JOIN
通常会有最佳的执行计划,但是中的可能效率低下:
UPDATE
product P1 JOIN
category_associations ca
ON ca.productId = P1.productId
AND ca.categoryId = '500'
SET P1.myflag = 1
另一种书写方式是:
UPDATE product
SET myflag = 1
FROM product P1 JOIN
category_associations ca
ON ca.productId = P1.productId
WHERE ca.categoryId = '500'
谢谢,这就是我想要的,更新中的连接语法暗示了我。