用於批次插入的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中文網其他相關文章!