首页 > 后端开发 > Golang > 如何正确使用 Golang 的 ... 运算符通过 GORM 进行批量插入以避免列数不匹配?

如何正确使用 Golang 的 ... 运算符通过 GORM 进行批量插入以避免列数不匹配?

Linda Hamilton
发布: 2024-11-27 06:25:18
原创
934 人浏览过

How to Correctly Use Golang's ... Operator for Bulk Inserts with GORM to Avoid Column Count Mismatches?

用于批量插入的 Golang 连接数组接口

在此上下文中,您尝试使用 GORM 创建批量插入并收到错误您生成的 SQL 查询中的列数和值不匹配。要解决此问题,您需要正确格式化数组接口以生成所需的字符串序列。

解决方案在于将切片元素传递给 Exec() 函数时使用 ... 扩展运算符。此运算符解压切片并将每个元素作为参数单独传递。

这是解决该问题的修改后的代码片段:

tx.Exec(sqlStr, vals...)
登录后复制

在此修改版本中,使用 vals...而不是 vals 来单独传递切片元素。这将生成所需的 SQL 查询为:

INSERT INTO city(code, name) VALUES ('XX1', 'Jakarta'),('XX2', 'Bandung')
登录后复制

通过正确传递数组接口,您可以成功执行批量插入操作并避免列数不匹配错误。请记住始终检查 Exec() 返回的错误并进行适当处理。

以上是如何正确使用 Golang 的 ... 运算符通过 GORM 进行批量插入以避免列数不匹配?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板