gpt4 book ai didi

mysql - 如何根据条件将数据从一个表插入到另一个表

转载 作者:行者123 更新时间:2023-11-29 01:43:04 25 4
gpt4 key购买 nike

我正在尝试将新行插入到 表 a 中,并部分使用 表 b 中的数据加载这些行。我只想在 a.id 列中不存在字段 b.id 的地方插入新行。

这是我的表格:

table_a       table_b
--------- -----------
id id
first_name first_name
country middle_name
last_name last_name

这是我的代码:

INSERT INTO table_a a
SELECT b.id, b.first_name,b. last_name
FROM table_b b WHERE b.id <> a.id

问题:我如何使用插入选择语句来做到这一点?请注意,我在一张表中包含了中间名,在另一张表中包含了国家/地区,以使其与我目前的情况更具可比性。有没有办法“映射”字段?或者我必须确保我的 insert select 语句具有与目标表完全相同数量的要插入的值?还是只查找匹配的列名并只更新匹配的列?

最佳答案

I would only like to insert new rows where the field b.id is not present in the a.id column.

另一种解决方案是使用 LEFT JOINIS NULL

INSERT INTO table_a
SELECT b.*
FROM table_b b
LEFT JOIN table_a a
ON a.ID = b.ID
WHERE a.ID IS NULL

关于mysql - 如何根据条件将数据从一个表插入到另一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14308750/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com