使用xorm反转数据库获取表结构后,查询失败
我是用了xorm工具反转数据库获取表结构。
得到结构体如下
type UserUser struct {
Id int `xorm:"not null pk autoincr unique(id, sys_group_id, branch_id) INT(11)"`
Nickname string `xorm:"default '' comment('用户名') VARCHAR(200)"`
Email string `xorm:"default '' comment('email') index VARCHAR(64)"`
EmailIsavalible int `xorm:"not null default 0 comment('email是否验证') TINYINT(4)"`
Mobile string `xorm:"default '' comment('手机号') index CHAR(16)"`
MobileIsavalible int `xorm:"not null default 0 comment('mobile是否验证') TINYINT(4)"`
Password string `xorm:"not null default '' comment('密码') CHAR(64)"`
Isavalible int `xorm:"not null default 0 comment('是否可用') TINYINT(4)"`
Customerkey string `xorm:"not null default '' comment('用户key,自动生成') CHAR(64)"`
Createdate time.Time `xorm:"not null default 'CURRENT_TIMESTAMP' index TIMESTAMP"`
Userip string `xorm:"not null default '' VARCHAR(50)"`
Level int `xorm:"default 0 comment('0学员 1员工') INT(11)"`
SysGroupId int `xorm:"comment('部门编号') unique(id, sys_group_id, branch_id) INT(11)"`
CompanyId int `xorm:"default 0 unique(id, sys_group_id, branch_id) INT(11)"`
CreateUserid int `xorm:"INT(11)"`
CreateFlag string `xorm:"VARCHAR(255)"`
CreateGroup int `xorm:"INT(11)"`
Mobliephonefaceurl string `xorm:"comment('app人脸图片地址') VARCHAR(128)"`
Mobliephonefacestatus string `xorm:"default '0' comment('预留状态0初始化1已预留2申请修改3审批通过(审批通过后并且预留通过后改为1状态)') CHAR(1)"`
Mobliephonevoiceid string `xorm:"comment('app声纹信息id') VARCHAR(50)"`
Mobliephonevoicestatus string `xorm:"default '0' comment('预留状态0初始化1已预留2申请修改3审批通过(审批通过后并且预留通过后改为1状态)') CHAR(1)"`
Pcfaceurl string `xorm:"comment('pc人脸图片地址') VARCHAR(128)"`
Pcfacestatus string `xorm:"default '0' comment('预留状态0初始化1已预留2申请修改3审批通过(审批通过后并且预留通过后改为1状态)') CHAR(1)"`
Pcvoiceid string `xorm:"comment('pc声纹信息id') VARCHAR(64)"`
Pcvoicestatus string `xorm:"default '0' comment('预留状态0初始化1已预留2申请修改3审批通过(审批通过后并且预留通过后改为1状态)') CHAR(1)"`
Mobliephonefacebyte string `xorm:"TEXT"`
Pcfacebyte string `xorm:"MEDIUMTEXT"`
}```
现在我进行数据库查询,语句如下
engine,err = xorm.NewEngine("mysql","name:pwd@tcp(ip:port)/xxxxx?charset=utf8")
users := make([]model.UserUser, 0)
err = engine.Alias("t").Where("t.mobile=?", "123").Find(&users)
执行时会报错
field Id tag unique(id, cannot match ) charactor
请问是哪里写的有问题?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
也许应该更正 unique 条件里的列名
我看你定义的表结构
struct
挺复杂的,如果使用ORM操作,可以参考GoFrame
的gdb
数据库ORM模块,同时支持通过map
或者struct
的形式来操作数据库:https://goframe.org/database/...把 tag 里面的
unique(id, sys_group_id, branch_id)
删除掉,这个生成可能是出 bug 了。