有几个问题看起来很像下面的问题,但我找不到合适的答案。 我想在表 b 中插入,例如 ID_b、ID_a、名称、名称 2。 如果 ID_a 存在于表 a 中,我只想进行插入
简单的问题,导致头痛。
最佳答案
您可以为此使用单个插入-选择语句。
例如,假设 [ID_b, ID_a, name, name2] 的值为 [1, 100, 'name', 'name2']:
INSERT INTO b (ID_b, ID_a, name, name2)
SELECT 1, ID_a, 'name', 'name2'
FROM a
WHERE ID_a = 100
如果 ID_a = 100
存在,将插入新行。如果不是,将从表 a
中选择零行,因此,不会向 b
中插入任何内容。
关于mysql 仅在其他表中存在值时才执行插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26979289/