第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

golang gorp插入多條記錄

golang gorp插入多條記錄

Go
桃花長相依 2022-01-10 10:27:36
使用 gorp 如何有效地插入多條記錄?即不是一次插入一個,是否有批量插入?var User struct {   Name string   Email string   Phone string}var users []Usersusers = buildUsers()dbMap.Insert(users...) //this fails compilation//I am forced to loop over users and insert one user at a time. Error Handling omitted for brevitygorp有更好的機制嗎?驅(qū)動程序是 MySQL。
查看完整描述

2 回答

?
HUH函數(shù)

TA貢獻1836條經(jīng)驗 獲得超4個贊

當我發(fā)現(xiàn)了一些其他資源的原因,這并不工作,是interface{}和User{}沒有在內(nèi)存中相同的布局,因此,他們的切片兼容的類型不。建議的解決方案是轉(zhuǎn)換[]User{}為[]interface{}in for 循環(huán),如下所示:https : //golang.org/doc/faq#convert_slice_of_interface


仍然需要注意:您需要對DbMap.Insert()函數(shù)使用指針。


這是我解決它的方法:


s := make([]interface{}, len(users))

for i, v := range users {

    s[i] = &v

}

err := dbMap.Insert(s...)

注意這&v很重要,否則Insert會抱怨非指針。


查看完整回答
反對 回復(fù) 2022-01-10
?
慕森王

TA貢獻1777條經(jīng)驗 獲得超3個贊

看起來 gorp 沒有任何東西可以為原始 SQL 或多值插入提供包裝器(這始終取決于 SQL 方言)。
您是否擔心速度或交易?如果沒有,我只會在 for 循環(huán)中進行插入。

查看完整回答
反對 回復(fù) 2022-01-10
  • 2 回答
  • 0 關(guān)注
  • 268 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號