gpt4 book ai didi

mysql - SQL 将列从一个表复制到另一个表中 - 唯一

转载 作者:行者123 更新时间:2023-11-29 09:34:30 24 4
gpt4 key购买 nike

基本上,我必须从特定表中复制 2 列并将它们添加到另一个表中。我可以这样做:

Insert into biz_ctx_rule (from_biz_ctx_id, top_level_bie_id)
select distinct biz_ctx_id, owner_top_level_abie_id
FROM abie;

我收到以下错误:

Error Code: 1062. Duplicate entry '20-52' for key 'biz_ctx_rule_unicity'

问题是我在 (from_biz_ctx_id, top_level_bie_id) 上添加了唯一性约束。有没有一种简单的方法可以使用 UNIQUE() 来做到这一点,或者我必须尝试一些连接?

谢谢。

最佳答案

如果问题是插入重复项,则使用重复键更新:

Insert into biz_ctx_rule (from_biz_ctx_id, top_level_bie_id)
select distinct biz_ctx_id, owner_top_level_abie_id
from abie
on duplicate key update from_biz_ctx_id = values(from_biz_ctx_id);

更新基本上是一个空操作,但它可以防止返回错误,因此插入会成功。

关于mysql - SQL 将列从一个表复制到另一个表中 - 唯一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57959380/

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