如何只保存差异

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(使用前将#替换为@)

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

  • 将 []string 传递给需要可变参数的函数

    为了不一遍又一遍地重复我的自我 我想创建一个处理运行一些命令的函数 func runCommand name string arg string error cmd exec Command name arg if err cmd Run
  • golang sql 驱动程序的准备语句

    关于golang的sql driver 下面两条语句有什么区别 store DB is sql DB type rows err store DB Query SQL args err nil defer rows Close and st
  • 如何在android中使用Room Persistence ORM工具实现created_at和updated_at列

    我该如何实施created at and updated at在Android中使用Room Persistence ORM工具的列 可以在创建或更新表中的行时自动更新时间戳 我研究了很多网站 但仍然没有找到任何可以处理的结果middlew
  • Doctrine ORM 的表命名约定

    使用 Doctrine ORM 时是否有命名表的约定 我喜欢用复数来命名表格 但如果有约定 我想遵守它 因此 表 users 将与使用 fk 作为单数 user id 的表相关 是否有最佳实践 使用单数或复数表名称 如果是后者 这如何应用于
  • 如何在 Hibernate 3.6 中正确级联保存主键上的一对一双向关系

    我与共享密钥有一对一的双向实体关系 当我尝试保存关联的所有者时 我收到针对关系拥有方的 生成 null id 异常 我正在利用 hibernate entitymanager 并使用 spring 进行事务管理 拥有实体 Entity Ta
  • Bazel 构建缺少严格的依赖关系

    我正在尝试使用 brazel 构建 Go 应用程序 它是一个现有的私有 GitHub 存储库 位置如下 github xyz com repo name 我正在研究 我的目标是从 main go 文件创建一个二进制文件 该文件的方法依赖于其
  • JPA (Hibernate) 与 OneToOnemappedBy 注释相关的问题

    当我设置一对一关系时 我有两个表 比尔和比尔简单条目 每个账单有一个 BillSimpleEntry 这是他们的结构 CREATE TABLE bill id bigint 20 NOT NULL AUTO INCREMENT PRIMAR
  • 我应该在哪里编写结合两个模型的控制器逻辑

    想象一下我有 PostController 和 CommentController 当然我有 Post 模型和 Comment 模型 所以现在我收到请求对Post和Comment模型进行一些修改 也许这个修改逻辑不仅结合了两个模型 而且结合
  • Go API 在 html 中显示 swagger api 规范 (json) (Swagger UI)

    我有一个服务于特定端口的应用程序 gorilla mux 我也有一个 json 文件形式的 swagger API 规范 是否有任何 go API 可以像 spring boot 一样从 JSON 文件生成 swagger UI 定义 我正
  • Go SQL查询不一致

    我在执行查询时遇到一些非常奇怪的不一致 并且想知道是否有人知道原因 想象一下我有一个定义如下的结构 type Result struct Afield string db A Bfield interface db B Cfield str
  • Hibernate:单表中的父/子关系

    我几乎没有看到任何关于以下与 Hibernate 相关问题的提示 这涉及使用具有父子关系的单个数据库表来实现继承 与自身的关系 例如 CREATE TABLE Employee empId BIGINT NOT NULL AUTO INCR
  • 如何在 Go 中表示可选字符串?

    我希望建模一个可以有两种可能形式的值 不存在或字符串 执行此操作的自然方法是Maybe String or Optional
  • 如何在 Goji (Golang) 中使用不同的中间件创建单独的路由组?

    我正在使用Goji https github com zenazn goji https github com zenazn goji 并希望定义具有自己的中间件的路由组 例如 下面的所有路径 company应使用 LDAP 身份验证并定义
  • 取消用户特定的 goroutine [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个应用程序 网络应用程序 允许用户使用 twitter oauth 登录并提供自动推文删除功能 用户登录到 Web 应用程序后
  • IBM Websphere JPA 配置 - 如何更新 persistence.xml

    我是 EJB 3 和 JPA 的新手 我在应用程序服务器中创建了一个数据源 它是jdbc AppDataSource 默认持久性提供程序保留为com ibm websphere persistence PersistenceProvider
  • nsq 无法通过连接到 nsqlookupd 来消费消息

    我尝试使用 docker compose 来运行 nsq docker compose yml如下 version 3 services nsqlookupd image nsqio nsq command nsqlookupd ports
  • 如何在C#中执行Go函数

    有没有办法从 C 执行 Go 函数 例如 对于 Python 我会使用 Ironpython 我知道我可以生成一个进程来执行 Go 脚本 但如果可能的话 我真的不想回退到这样的解决方案 Google 搜索没有显示任何内容 那么有什么方法可以
  • Golang中如何删除字符串的最后一个字符?

    我想删除字符串的最后一个字符 但在此之前我想检查最后一个字符是否是 如何才能做到这一点 以下是删除尾随加号的几种方法 package main import fmt strings func TrimSuffix s suffix stri
  • 我应该避免在 golang 中使用单例包吗?

    现在我有一个包裹store包含以下内容 package store var db Database func Open url string error open db connection func FindAll model inter
  • 如何在 Ubuntu 中将 Go 程序作为守护进程启动?

    在 Ubuntu 中将 Go 程序作为守护进程启动的正确方法是什么 然后我将使用 Monit 对其进行监控 我应该做这样的事情 go run myapp go 我应该考虑 Go 特有的事情吗 您应该为您的程序构建一个可执行文件 go bui

随机推荐

  • 如何识别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 我希望能够上传一些数据 可能是相同的