mysql - SQL:插入table_b,其中table_a没有相关行?

标签 mysql sql insert mariadb row

抱歉,如果这样的问题已经存在,我到目前为止还没有找到。

我有两个表,产品价格

在我的产品表中,我有许多产品(数千种),但在价格中,我只为少数产品设置了价格。

连接它们的列称为code(在两个表中)。

我需要进行一个 INSERT 查询,为 prices 中没有行的每个 product 插入一行到 prices 中。 如何才能实现这一目标?

最佳答案

您可以将 INSERT INTO ... SELECTEXISTS 子句一起使用:

INSERT INTO prices (code, col1, col2, ...)
SELECT code, col1, col2, ...
FROM products p1
WHERE NOT EXISTS (SELECT 1 FROM prices p2 WHERE p1.code = p2.code);

关于mysql - SQL:插入table_b,其中table_a没有相关行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55666645/

相关文章:

php - Joomla密码被破解

mysql - 如何在查询中获得第二个较大的数字

mysql - SQL 如何在为另一个表生成输出后列出 NULL 值

mysql - SQL INNER JOIN 来自同一个表的两个值数组

c - 二叉树 : Finding the same values

MySQL 错误 1241 : Operand should contain 1 column(s)

mysql - SQL - 获取最后更改的唯一值

sql - 将子表连接到主表

mysql - 使用 ON DUPLICATE KEY UPDATE 从 SELECT 插入

sql-server - 如何将表 1 中的几列复制到表 2 中,同时还在表 2 中定义某些静态行?