首頁 > 後端開發 > 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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板