在使用beego时遇到 need a primary key field

请问这个问题要怎么解决呢?我尝试加了orm:"column(uid);pk",都还是没办法

package models

import (
"fmt"
"github.com/astaxie/beego/orm"
_ "github.com/go-sql-driver/mysql"
)

type account struct {
Id int  orm:"pk;column(uid);"
username string orm:"unique;size(20);"
password string orm:"size(20)"
email string orm:"size(50)"
}

func init() {
orm.RegisterDriver("mysql", orm.DR_MySQL)

orm.RegisterDataBase("default", "mysql", "root:@/finan?charset=utf8")
orm.RegisterModel(new(account))
}

func Reg() {
o := orm.NewOrm()
var Maccount account
Maccount.username = "slene"
Maccount.password = "test"
Maccount.email = "ss@11.com"

id, err := o.Insert(&Maccount)
if err == nil {
    fmt.Println(id)
}
}
阅读 14.8k
1 个回答

主键命名为id,试下,默认用的id的字段
比如

type User struct {
    Id int
    Name string
}

你都不用添加field tag

Golang里导出(public)的字段必须是大写开头,字段名都改成大写吧

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题