postgresql多字段唯一索引与beego的orm.InsertOrUpdate

1 单字段唯一键

我们知道beego orm中可以这样设置

Name string `orm:"unique"`

2 多字段唯一键

多字段唯一键怎么处理?两种方法:

1 手动修改表

CREATE UNIQUE INDEX name ON table (column [, ...]);

2 代码中配置(注意必须自动建表,且如果已建好的表要先删除


// 多字段唯一键
func (u *User) TableUnique() [][]string {
    return [][]string{
        []string{"Name", "Email"},
    }
}

3 InsertOrUpdate

如设置了name,type,owner_id三个字段唯一索引,可以这样保证只有一条记录

	_,err:=o.InsertOrUpdate(tag,"name,type,owner_id")

 

你可能感兴趣的:(Golang,服务器和网络)