使用 GORM 解决批量插入中的列数不匹配
在使用 GORM 的批量插入查询中,您遇到了由于不匹配而导致的错误列数。出现此错误的原因是您尝试将接口数组作为单个参数传递,这会导致无效查询。
要解决此问题,您需要使用可变参数语法 (...)。此语法允许您将切片的元素单独传递给函数,而不是传递切片本身。对于批量插入查询,您可以按如下方式使用它:
tx.Exec(sqlStr, vals...)
通过添加 ...,您可以通知编译器您打算单独传递 vals 的每个元素。这会生成所需的查询字符串:
INSERT INTO city(code, name) VALUES ('XX1', 'Jakarta'),('XX2', 'Bandung')
其他注意事项:
以上是如何修复 GORM 批量插入中的列数不匹配?的详细内容。更多信息请关注PHP中文网其他相关文章!