zoukankan      html  css  js  c++  java
  • 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)

  • 相关阅读:
    Smartform中表(table)的行间距设置
    ◆◆0Smartform中如何设置背景阴影色(Shading)
    ◆◆0如何在Smartforms中设置左右对齐
    如何在smartform中设置行间距
    ◆◆0如何在smartform中的table节点插入分页
    ◆◆0如何翻译smartform中的Text module
    如何在smartforms中插入复选框(checkbox)
    ◆◆0选择屏幕-SELECTION-SCREEN(一)
    科研呢喃-2
    遇到杠精,浪费时间
  • 原文地址:https://www.cnblogs.com/liuqun/p/13622303.html
Copyright © 2011-2022 走看看