mysql 仅在其他表中存在值时才执行插入

标签 mysql sql-insert

有几个问题看起来很像下面的问题,但我找不到合适的答案。 我想在表 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/

相关文章:

php - 如何从数据库动态添加和获取总时间?

mysql - 在 mysql 中插入 150K 行需要多长时间?

MYSQL INSERT 基于 3 列的值

mysql从包含换行符的csv加载数据

mysql - 带求和的多表查询,一对多对多

php - 在 MySQL 中存储语言字典 : Handling multiple definitions

php - 包含数组的内爆多维数组

SQL:重用函数返回的值?

php - MySQL插入语句外键自动添加pk

php - fatal error : Call to a member function query() on a non-object in PHP