orm物件關係對映,通過物件(即struct)與資料庫的table一一對應
func main()2.模型定義
2.1自定義表名
2.2自定義索引
2.3 自定義引擎
2.4 設定引數
多個設定間使用;
分隔,設定的值如果是多個,使用,
分隔.
`orm:"null;rel(fk)"`
`orm:"-"`//忽略字段
`orm:"auto"`
`orm:"pk"`
`orm:"null"`
`orm:"index"`
`orm:"unique"`
`orm:"size(60)"`
`orm:"default(1)"`
`orm:"default(1);description(這是狀態字段)" `
type
created time.time `orm:"auto_now_add;type(date)"`
created time.time `orm:"auto_now_add;type(datetime)"`
created time.time `orm:"auto_now_add;type(datetime)"`
updated time.time `orm:"auto_now;type(datetime)"`
money float64 `orm:"digits(12);decimals(4)"`
表關係設定:1-1
`orm:"null;rel(one);on_delete(set_null)"` vs `orm:"reverse(one)"`
1-n `orm:"rel(fk)"` (在弱勢一方,即設定外來鍵) vs `orm:"reverse(many)"`(強勢一方)
n-n`orm:"rel(m2m)"` vs `orm:"reverse(many)"`
on_delete 設定對應的 rel 關係刪除時,如何處理關係字段:
cascade 級聯刪除(預設值)
set_null 設定為 null,需要設定 null = true
set_default 設定為預設值,需要設定 default 值
do_nothing 什麼也不做,忽略
go
mysql
int, int32 - 設定 auto 或者名稱為id
時
integer auto_increment
int64 - 設定 auto 或者名稱為id
時
bigint auto_increment
uint, uint32 - 設定 auto 或者名稱為id
時
integer unsigned auto_increment
uint64 - 設定 auto 或者名稱為id
時
bigint unsigned auto_increment
bool
bool
string - 預設為 size 255varchar(size)
string - 設定 type(char) 時char(size)
string - 設定 type(text) 時longtext
time.time - 設定 type 為 date 時
date
time.time
datetime
bytetinyint unsigned
rune
integer
intinteger
int8
tinyint
int16
smallint
int32
integer
int64
bigint
uint
integer unsigned
uint8
tinyint unsigned
uint16
smallint unsigned
uint32
integer unsigned
uint64
bigint unsigned
float32
double precision
float64
double precision
float64 - 設定 digits, decimals 時
numeric(digits, decimals)
增加 修改表字段屬性
資料庫 mydb 表名 company 字段 id int 4 not null name varchar 30 not null 如何寫sql,將這2個字段的not null屬性設定為null 允許空 修改字段屬性 alter table 表名 modify 欄位名 型別屬性 not null 預...
MySQL 表字段型別選擇
mysql欄位型別大致分為以下幾類 字元型 char,varchar,set,enum,text,blob,longtext等 數字型 int,float,double,tinyint,decimal等 日期型 date,time,datetime 那麼對於設計表的時候該如何選擇欄位的資料型別?可以...
Hive表字段型別修改
a 建立一張和原表一樣表結構的複製表 b 通過插入語句 insert overwrite 使用動態分割槽把資料匯入複製表 set hive.exec dynamic.partition mode nonstrict create table table copy like table origina...