如何只保存差异

2024-02-06

我有一个创建记录的函数,如下所示:

func A(db *gorm.DB, b []C) error {
    d := []e{}
    for _, f := range b {
        d = append(d, g(f))
    }
    return db.Save(&d).Error
}

我希望能够上传一些数据(可能是相同的),但我希望只保存差异。

因此,如果我上传相同的数据,我希望没有任何问题,因为没有差异(或更改)。

如果我尝试上传相同的数据,我会得到:"error":"Error 1062: Duplicate entry '1' for key ...但正如前面提到的,我不希望这种情况发生。我希望上传的内容没有任何错误。 我也做了像 Upsert / On Conflict 这样的事情,但它不起作用(https://gorm.io/docs/create.html#Upsert-x2F-On-Conflict https://gorm.io/docs/create.html#Upsert-x2F-On-Conflict)

Thanks!


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何只保存差异 的相关文章

  • 为什么 Django 的 URLField 默认截断为 200 个字符?

    我喜欢 Django 并且经常使用它 我发现它的大部分默认设置都是正常的 但有一个一直困扰着我 以至于我在每个项目中都覆盖了它 a 的默认最大长度URLField https github com django django blob st
  • 无需时间即可生成随机字符串?

    我知道如何使用 Runes 和播种 rand Init 在 go 中生成随机字符串time UnixNano 我的问题是 是否可以 使用 stdlib 在不使用当前时间戳 安全 的情况下播种 rand 此外 我问 因为仅仅依靠时间来为敏感操
  • 只读模式下不允许写操作(FlushMode.MANUAL)

    我对Spring真的很陌生 我正在使用 JSF Hibernate Spring 开发一个简单的 JEE 应用程序 我在尝试更新 DAO 上的值时遇到一些问题 我确信问题与 Spring 配置 xml 文件有关 但我无法找出是什么 这是我的
  • 在 Go 中使用互斥锁

    我想了解互斥体是如何工作的 据我目前的理解 它是为了进行原子操作并同步对某些数据的访问 我在这里构建了一个队列数据结构的示例 https github com arnauddri algorithms blob master data st
  • 您使用的 ORM 框架的最佳功能是什么[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 从 []byte 到 char*

    我想包装一个 C 函数 它需要一个char 指向非空字节缓冲区 的第一个元素 我正在尝试使用 CGo 将其包装在 Go 函数中 以便我可以将其传递给 byte 但我不知道如何进行转换 C 函数签名的简化版本是 void foo char c
  • PetaPOCO 和超过 4 个加入

    petapoco 是否能够实现以下目标 1 一次查询无限连接 2 一次查询无限的一对多关系 我查看了 PetaPOCO 它似乎无法执行超过 4 个连接 最长的签名如下所示 db Query 似乎它也支持一对多关系 但仅适用于一个复合对象 如
  • 如何解析 Content-Disposition 标头以检索文件名属性?

    使用 go 如何解析从 http HEAD 请求检索到的 Content Disposition 标头以获取文件的文件名 此外 如何从 http HEAD 响应中检索标头本身 这样的事情正确吗 resp err http Head http
  • 匿名结构和空结构

    http play golang org p vhaKi5uVmm http play golang org p vhaKi5uVmm package main import fmt var battle make chan string
  • Golang 正则表达式命名组和子匹配

    我正在尝试匹配正则表达式并获取匹配的捕获组名称 当正则表达式仅与字符串匹配一次时 这是有效的 但如果它与字符串匹配多次 SubexpNames不返回重复的名称 这是一个例子 package main import fmt regexp fu
  • 使用 HTTPS GRC 从 AWS Codecommit 获取私有存储库

    我正在尝试导入位于 AWS codecommit 中的模块 为了克隆存储库 我使用 HTTPS GRC Git 远程代码提交 方法 该方法使用 Google Suite 凭证来访问 AWS 控制台 我用来克隆存储库的命令是 git clon
  • Golang GAE - 小胡子结构中的 intID

    这是一个Example https www dropbox com sh ur2ws1jnik6euef PjVJSwDTUc Blog Golang zip该应用程序的 关键代码在 golang code handler handler
  • 如何在 Go 中将环境变量传递给测试用例

    在为 Go 编写测试用例时 传递需要提供给测试的环境变量的标准方法是什么 例如 我们不想在测试用例的源代码中嵌入密码 处理这个问题最标准的方法是什么 我们让测试用例寻找配置文件吗 还有别的事吗 看来我偶然发现了答案 将其添加到测试用例中可以
  • 为什么 Go 禁止取 (&) 映射成员的地址,却允许取 (&) 切片元素?

    Go 不允许获取地图成员的地址 if I do this p mm abc Syntax Error cannot take the address of mm abc 理由是 如果 Go 允许使用此地址 那么当地图后台存储增长或缩小时 该
  • GoLang ssh:尽管将其设置为 nil,但仍出现“必须指定 HosKeyCallback”错误

    我正在尝试使用 GoLang 连接到远程服务器 在客户端配置中 除了用户和密码之外 我将 HostKeyCallback 设置为 nil 以便它接受每个主机 config ssh ClientConfig User user HostKey
  • go中有memset的类似物吗?

    在 C 中 我可以使用某些值初始化数组memset https msdn microsoft com en us library aa246471 28v vs 60 29 aspx const int MAX 1000000 int is
  • Lightspeed 与 NHibernate

    有什么体验光速 http www mindscape co nz products LightSpeed comparison aspx Mindscape 提供的比较并没有过多说明 NHibernate Lightspeed 看起来很灵活
  • 如何使信号量超时

    Go 中的信号量是通过通道来实现的 一个例子是这样的 https sites google com site gopatterns concurrency semaphores https sites google com site gop
  • Golang中按长度分割字符串

    有谁知道如何在 Golang 中按长度分割字符串 例如 每 3 个字符分割 helloworld 那么理想情况下它应该返回一个 hel low orl d 数组 或者 一个可能的解决方案是在每 3 个字符后附加一个换行符 所有的想法都非常感
  • Golang:带有 JSON 负载的 http.NewRequest POST 返回错误 500

    我正在开发一个 API 库 有一个API端点 POST 当您发出curl命令时 它是 curl H X API TOKEN API TOKEN http interest graph getprismatic com text topic

随机推荐

  • 如何识别STATUS_INVALID_CRUNTIME_PARAMETER异常

    平台是Windows 7 SP1 我最近花了一些时间调试由于代码将无效参数传递给 安全 CRT 函数之一而引起的问题 结果 我的应用程序立即中止 没有任何警告或任何内容 甚至没有崩溃对话框 起初 我尝试通过将 Windbg 附加到我的应用程
  • Chrome 浏览器 61v。单击可见区域之外的元素时出现问题

    当我将 Chrome 浏览器更新到 61v 时 单击可见区域之外的不可见元素会出现问题 早些时候它起作用了 尝试点击可见区域之外的链接 element Click 有 InvalidOperationException 元素在点 1134
  • 如何使信号 NaN 易于使用?

    IEEE754 标准定义了两类 NaN 安静 NaN QNaN 和信令 NaN SNaN 当 SNaN 加载到浮点寄存器时 浮点单元会引发异常 QNaN 可通过名为的常量用于 Delphi 代码NaN声明于Math 该常数的定义是 cons
  • Hibernate c3p0 连接池未超时空闲连接

    我们有一个 java 服务器连接到 MySQL 5 数据库 使用 Hibernate 作为持久层 该持久层使用 c3p0 进行数据库连接池 我尝试遵循 c3p0 和 hibernate 文档 Hibernate 如何配置 c3p0 连接池
  • 通过 Chrome 扩展模拟点击页面上的元素?

    我需要迭代并单击该类的所有元素 star gray在页面上 并在重定向后保持迭代和单击 运行JavaScript代码无法满足第二个要求 所以我打算写一个Chrome扩展 但我未能通过扩展模拟网页上的点击事件 我的项目如下 清单 json m
  • 从 GitHub 进行 Git 克隆后,我看不到我的分支

    我在 GitHub 上有一个存储库 它包含master和一个分支 当我克隆它时 我只获得master并没有看到我的分支 为什么会这样呢 如何查看存储库中的所有分支 默认情况下 git clone只创建一个分支 当前签出的分支 通常是 mas
  • 控制台窗口立即消失[重复]

    这个问题在这里已经有答案了 使用 C 的 Visual Studio 中的控制台窗口不稳定 ReadLine 也不工作 窗口立即消失 我看不到结果 您需要在代码后添加以下行 Console ReadKey 这将阻止控制台执行下一行 直到您按
  • 如何监控 OmniThreadLibrary 中的 Pipeline 阶段?

    是否可以以某种方式监控管道任务 我尝试像这样向每个任务添加监视器 FPipeline Parallel Pipeline Stage StageWorker1 Parallel TaskConfig MonitorWith MyMonito
  • 创建自定义凸路径Android

    我希望为我的框架布局设置一个自定义形状 矩形每个角的不同半径 以便框架布局中的视图将剪辑到形状的边界 ViewOutlineProvider provider new ViewOutlineProvider Override public
  • 通过客户端存根访问 WSDL 时出现 Java InaccessibleWSDLException

    我正在尝试为 Exchange Web 服务编写自定义 Java 客户端 我已经使用生成了客户端存根wsimport工具如所解释here http java dzone com articles jax ws hello world来自 E
  • 在 Linux 上编译一个共享库以面向所有发行版

    我们希望创建一个共享库 so 以针对所有发行版 包括旧发行版 该代码是用 C 编写的 并使用 C 11 功能 因此编译器必须至少为 gcc 4 7 我们注意到 如果我们在安装了 gcc 4 7 2 的 Linux 机器 例如 Ubuntu
  • 使用 php 将视频链接加载到 html 播放器

    我有 HTML 视频此标签用于视频播放
  • 如何在 Java Swing 工具栏中创建“下拉”菜单?

    我在 Swing JToolBar 上创建了一个下拉菜单 但它并没有按照我想要的方式创造行为 我的目标是让它像 Firefox 的 智能书签 按钮一样工作 当用户选择菜单项时它会消失 正确 当用户按 ESC 时它消失 正确 当用户单击菜单之
  • 为什么 swift 中没有 PerformSelector

    显然以下内容在 swift 中不再可用 self performSelector selector onFlip withObject nil afterDelay 0 3 如果仍然存在以下情况 为什么会出现这种情况 NSObject ca
  • 发现多种类型与名为“Account”的控制器匹配。 MVC 4 和使用 RouteConfig.CS

    我目前在同一文件夹中有 2 个项目 主要的 Project1 Project2 Problem 发现多种类型与名为的控制器匹配Account 如果服务此请求的路由可能会发生这种情况 controller action id 不指定命名空间来
  • 错误 rxjs_Observable__.Observable.forkJoin 不是函数?

    我在用Rxjs in an angualr cli应用 在viewer component ts中 Other Imports import Observable from rxjs Observable omitting for brev
  • 如何使用Python连接WiFi网络? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试用 Python 编写一个脚本 该脚本将使我能够搜索无线网络并连接到它们 有没有为此目的的Python 库 None
  • 任何使用 Red Gate 的 SQL 源代码控制的人

    我们一直在寻找 SQL 源代码控制的可能解决方案 我刚刚遇到 Red Gates SQL 源代码控制 想知道是否有人实现了它 我打算下载试用版并尝试一下 但只是想看看其他人是否有真实的体验 一如既往地非常感谢您的投入 S 我更新了下面的原始
  • 在字符串中插入填充空格

    非常基本的问题 但很难形成可接受的形式 我想通过每 3 个空格插入一个填充来转换字符串 例如 123456789 gt 123 456 789 abcdefgh gt abc def gh 我的代码目前是 public String toS
  • 如何只保存差异

    我有一个创建记录的函数 如下所示 func A db gorm DB b C error d e for f range b d append d g f return db Save d Error 我希望能够上传一些数据 可能是相同的