gpt4 book ai didi

MYSQL Maria DB - 比较2个表A和B并更新记录

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

我有 2 个表 A 和 B。我想比较表 A 和表 B,对于任何不匹配的记录,我想将整个记录从表 A 更新到表 B。我们有 2 个主键,大约有 4000 万条记录.

我们可以通过一个 SQL 或脚本实现这一目标吗?或者我可以创建临时表(表 c),在其中写入不匹配的表 A 记录,然后用临时表 C 更新表 B。我将在 MY SQL 工作台中使用 mariaDB DB 执行此操作。

添加了附加信息 - 我有 2 个主键和 15 列。因此,理想情况下,假设两个表中的主键都匹配,则必须匹配 13 列并查找不匹配项。

请协助并感谢任何反馈。

最佳答案

一种方法是对 B 表到 A 表进行更新左连接,并使用后者的值更新前一个表中的所有列。请注意,WHERE 子句会进行检查,以确保 B 中的记录与 A 中的任何记录匹配。

UPDATE TABLE_B b
LEFT JOIN TABLE_A a
ON a.col1 = b.col1 AND
a.col2 = b.col2 -- AND all other columns
SET b.col1 = a.col1,
b.col2 = a.col2 -- AND set all other columns
WHERE a.col1 IS NULL

关于MYSQL Maria DB - 比较2个表A和B并更新记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41275877/

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