golang gorm 更新零值字段的方法

2021-10-25 22:36:55 字數 534 閱讀 3636

使用golang的gorm更新0值的字段,總是失敗。

按照官方文件,如果字段值中有0值,不能再使用 struct,而需要使用 map[string]inte***ce{},但實際上還是失敗,比對了很久,才發現是在updates方法不能傳入map的指標,必須是map的值。

錯誤的寫法

values :=

map[

string

]inte***ce

err =

getdb()

.model

(&models.task).

updates

(&values)

.err

正確的寫法

err =

getdb()

.model

(&models.task).

updates

(values)

.err

注意,values 傳入的是值,如果傳入指標,就不執行。

官方文件:

golang gorm使用心得小結,持續更新

官方文件 1,目前暫不支援批量插入資料,可以用sql語句直接執行或迴圈單次create。但因為業務需要知道插入後的主鍵id,所以只能迴圈新增,迴圈新增後可通過.操作取id。如 err db.create m error if err nil id m.id2,刪除資料分為軟刪除和硬刪除。軟刪即改變資...

更新組合值

好久沒有靜下心來寫東西了,1 是沒有遇到好的案例 2 是最近好像 有點忙,但又有點不知道自己在忙啥的感覺一樣。強制自己靜下心寫東西,但這時候 又覺得 自己囉嗦,闡述 點東西說了 很多,又不知道自己 在說什麼。好了廢話 不說 上正題 開發需要支援乙個 sql,現有邏輯是 更新 a表 name 字段,需...

與零值比較

當通過用if 值 0 進行比較的時候 要看這個值是什麼型別的 具體如下 1.當值為 int,char型的時候 應用 if int val 0 或者 if int val 0 2.當值為指標變數的時候 應用if null p 或者if null p 注 null最好寫在左邊 因為如果在右邊的話容易寫成...