go 利用beego orm的数据库设计

比如利用 go web框架 beego中的orm 对象关系映射创建表


type Article struct {
	Id          int       `orm:"pk;auto"`
	ArticleName string    `orm:"size(20)"`
	Atime       time.Time `orm:"auto_now"`
	Acount      int       `orm:"default(0);null"`
	Acontent    string    `orm:"size(500)"`
	Aimg        string    `orm:"size(100)"`
}

由上面的代码可以看出,要给哪个字段添加属性,需要在这个字段后面添加 ``括起来的内容,格式为 orm:“限制条件” 。那这些限制条件都有哪些呢?我在这里给大家列了一个表格。

限制条件作用
pk设置该字段为主键
auto这只该字段自增,但是要求该字段必须为整型
default(0)设置该字段的默认值,需要注意字段类型和默认值类型一致
size(100)设置该字段长度为100个字节,一般用来设置字符串类型
null设置该字段允许为空,默认不允许为空
unique设置该字段全局唯一
digits(12);decimals(4)设置浮点数位数和精度。比如这个是说,浮点数总共12位,小数位为四位。
auto_now针对时间类型字段,作用是保存数据的更新时间
auto_now_add针对时间类型字段,作用是保存数据的添加时间

注意:当模型定义里没有主键时,符合int, int32, int64, uint, uint32, uint64 类型且名称为 Id 的 Field 将 被视为主键,能够自增. "
Mysql中时间类型有date和datetime两种类型,但是我们go里面只有time.time一种类型,如果项目里面要求 精确的话,就需要指定类型,指定类型用的是type(date)或者type(datetime)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值