golang

(156)

Golang Gorm Sum decimal 字段类型

感觉是 Gorm 的 Bug,在使用 Pluck 获取 Sum 结果时总是报错。 而用 Scan 就没有问题。 ## 可行的做法 Scan ``` type FHSum struct { Total float64 }

Go 1.18 版本新特性,及升级步骤

今年 315 唯一的好消息是,Golang 1.18 版本发布。 ## 新特性 - 支持泛型 Generics - 模糊测试 Fuzzing - Workspaces - 性能提升 20%。但是由于支持了泛型,编译时间比

golang gorm 的多对多关系 CRUD 操作

例如,一个财务预算管理系统,需要能设置各部门的负责人,以方便控制查看权限。 而且可以一个部门设置多个负责人。 ## golang gorm 的数据结构 因为我独立建了个关系表,兼容出现多对多的关系,所以用到了 gorm many2

Golang 使用 sql.NullString 替代 string 类型,避免空字符串引起的唯一索引报错

例如: 用户表的用户名字段为可 Null 字段,但是如果在 golang struct 中定义为 string,则在保存时,不指定值,会默认存入空字符串。 正常情况下并没有什么影响,但是如果恰好这个字段上建了唯一索引。那么非 N

Golang Gorm 数据插入 MySQL 失败 Error 1054: Unknown column 'xx' in 'field list'

原因是,我 Struct 中定义了一个新字段,为了方便在接口返回数据时,能补充一个数据库中没有的信息。 这导致在 Gorm 插入 MySQL 时报错,提示未知字段错误。 ## 插入时,忽略指定字段 查了一下,发现 Gorm

sql.NullTime 计算时间差

定了一个类型,实际上是 sql.NullTime。我想计算当前时间与其值的时间差。 ``` type NullTime struct { sql.NullTime } ``` ## sql.NullTime ht

为 golang 项目添加 Makefile

## 使用 Makefile 的好处 可以管理多个任务的命令。例如,build & run,test。 否则单单一个 ``` go test -v ./... ``` 就很难记住。 何况还会有很多需要记录的命令

golang gorm 2 中使用 lock for update 锁

查了一下 golang gorm 2 确实支持 lock for update。文档: https://gorm.io/zh_CN/docs/advanced_query.html#Locking-FOR-UPDATE ```

Golang Gorm Error 1292: Incorrect datetime value: '0000-00-00' for column

## 报错内容 在用 Golang Gorm 更新 MySQL 一条数据时,报错: ``` Error 1292: Incorrect datetime value: '0000-00-00' for column 'create

Goland Gin 将上传的图片文件转存到七牛 CDN

## 安装七牛 golang sdk ``` go get -u github.com/qiniu/go-sdk/v7 go get github.com/qiniu/go-sdk/v7/storage@v7.9.5 ```