gpt4 book ai didi

mysql - 在表之间复制数据时出现错误 1062 重复条目

转载 作者:行者123 更新时间:2023-11-30 00:57:58 24 4
gpt4 key购买 nike

我正在尝试将数据从一个表复制到另一个表。T1、T2 是两个表,它们均已正确设置,并且都有 UQ 的 PK。特别是,我想将值 R 放入 GZHTable3 中的 Joint_Data 表中。 R 是非唯一的,并且当 T1.Aid = T2.Gid 时必须是,所以我有:

INSERT INTO Combined_Data (R)    
SELECT T2.R
FROM GZHTable3 as T2
JOIN Combined_Data as T1 ON T1.Aid = T2.Gid;

Aid 和 Gid 都是各自表的 UQ 和 PK。据我所知,它是反对的,因为 Aid 和 Gid 都是 PK。

我不想只复制 T2.R 的值,但它必须在 Aid、Gid 上的两个表之间同步。为什么反对以及解决方案是什么? (一些数据在表之间复制,但 R 不是)。

谢谢

<小时/>

澄清一下:

表 1 (T1)

Aid     R       Data fields .....


UQid1 0 ........ data .........
UQid2 0 ........ data .........

表2(T2)

Gid     R        Different data fields....


UQid6 R6 ....... data ....
UQid12 R12 ....... data ....
UQid23 R23 ....... data ....
UQid1 R1 ....... data ....

T1、T2 的顺序不同。对于 T1 中的每个 Aid,我必须在 T2 中找到对应的 Gid 值(例如 UQid1),并将 T2 中该行中的 R(严格)非零值复制到 T1 中的相应行中。

T2 的所有元素都是非空的,并且就目前而言都是数字;并且T2比T1大得多

最佳答案

你的问题很令人困惑,在最初的帖子中你正在尝试插入,但在编辑中你这样说:“对于 T1 中的每个 Aid,我必须在 T2 中找到 Gid 的相应值(例如 UQid1)并复制(严格地)将 T2 中该行中的 R 非零值写入 T1 中的相应行。”

如果确实是后者,您应该能够执行以下操作:

UPDATE table_1 AS t1 SET t1.value = (SELECT t2.value FROM table_2 AS t2 WHERE t2.UQid1 = t1.id);

关于mysql - 在表之间复制数据时出现错误 1062 重复条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20387374/

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