我的数据库中有两个表,tableA 和 tableB。
tableA:
id | col1 | col2 | in_b
-----------------------
1 | "abc" | "efg" | false
2 | "foo" | "bar" | false
tableB:
id | col1 | col2
------------------
1 | "abc" | "bar"
我想更新 in_b 列,以便在 col1 或 col2 的值与 tableB 中的一行匹配时为真。例如,两个
in_b
标志都为真,因为“abc”在 tableB 的 col1 中,而“bar”在 tableB 的 col2 中。 col1 和 col2 不是唯一的。更新 in_b 标志的最佳方法是什么?
最佳答案
我想你想要一些类似的东西
UPDATE tableA
SET in_b = TRUE
WHERE EXISTS ( SELECT 1 FROM tableB
WHERE (tableB.col1 = tableA.col1 OR tableB.col2 = tableA.col2)
)
关于mysql - 如果值存在于另一个表中,如何更新 MYSQL 列?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27789956/