Go 环境下,GORM 给字段设置“默认值”

为字段设置默认值,需要使用 default 标签,定义默认值,例如:

type User struct {
  ID   uint    `gorm:"not null;comment:'用户ID'"`
  Name string  `gorm:"type:varchar(50);default:'张三';comment:'姓名'"`
  Age  int     `gorm:"default:'18';comment:'年龄'"`
}

上面的语句在使用 gorm 的自动迁移时会自动创建 User 表,相当于自动执行了下面的 SQL 语法:

CREATE TABLE `user` (
  `id` int unsigned NOT NULL COMMENT '用户ID',
  `name` varchar(50) DEFAULT '张三' COMMENT '姓名',
  `age` int DEFAULT '18' COMMENT '年龄',
) 

使用上面的语句完成数据库迁移,创建 User 表。

表创建完成后,在给 User 表添加数据的过程中,但凡 Name 字段和 Age字段的值为 "" 或 0 时,数据库自动使用默认值:张三 18 替换 "" 或 0。

参考官方文档:创建 | GORM - The fantastic ORM library for Golang, aims to be developer friendly.

注意:如果给字段设置了“默认值”,任何零值(如0、""、false)都不会保存到数据库中,创建数据到数据库时遇到零值时将自动替换使用默认值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值