【发布时间】:2016-12-01 15:29:21
【问题描述】:
我正在重组一些代码,这是一个 PHP - MYSQL 项目。所以我试图在一个或至少两个查询中更新一些表。
这是否可以在没有加入的情况下实现?最好的选择是什么?
UPDATE document D SET D.status = 2,
CASE
WHEN D.type 'A' THEN (UPDATE table_1 SET active = 1 WHERE id_table1 = D.id_document)
WHEN D.type 'B' THEN (UPDATE table_2 SET active = 1 WHERE id_table2 = D.id_document)
WHEN D.type 'C' THEN (UPDATE table_3 SET active = 1 WHERE id_table3 = D.id_document)
END
WHERE D.id_document = %s
我不介意将第一个表“document D”分开,但我需要“case when”在单个查询中更新多个表,因为它们就像 11 个表。
【问题讨论】:
标签: php mysql subquery case multiple-tables