两张表联合查询后并更新一张表中的信息。
需要将查出来的条件再当做一张中间表(AS a),如果条件直接in查询出的结果的话会报错,因为
You can't specify target table '表名' for update in FROM clause
翻译为:不能先select出同一表中的某些值,再update这个表(在同一语句中)
UPDATE idaas_tenant_roles_actions
SET action = "["*"]"
WHERE
id IN (
SELECT
a.id
FROM
( SELECT t1.id FROM idaas_tenant_roles_actions t1 LEFT JOIN idaas_tenant_roles t2 ON t1.role_id = t2.id WHERE t2.NAME = "进销存管理员" ) AS a
)