【前情提要】
要根据条件更新user表中的主键Id,同时也要更新其他表中的外键userId。
【描述】
根据查询出来的条件,去更新tb_user表中的主键Id,同时更新tb_organization_user和tb_tenant_product_user表中的外键userId,
其他都是限制条件。
UPDATE
tb_user A,
tb_organization_user tu,
tb_tenant_product_user tp
INNER JOIN (
SELECT DISTINCT
tc.user_code,
tc.id
FROM
tc_allusers tc
WHERE
tc.school_no = '6688'
AND tc.is_delete = 0
) C
SET A.id = C.id,
tu.user_id = C.id,
tp.user_id = C.id
WHERE
A.tenant_id = '9876543266999'
AND tu.user_id = A.id
AND tp.user_id = A.id
and C.user_code=A.user_code
暂时我只想到了这一种可以同时更新主外键的方法,如果有其他更优的方法,欢迎交流