使用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最好寫在左邊 因為如果在右邊的話容易寫成...