如何在 Gorm 中更改表的主键字段?

how to change the primary key field of a table in Gorm?

提问人:Lynx 提问时间:11/6/2023 最后编辑:egleaseLynx 更新时间:11/6/2023 访问量:29

问:

我的表主键是 ,但在 Gorm 的约定中是 ,即使我在结构中回收了它们。u_idid

type Users struct {
gorm.Model
UId            uint           `gorm:"column:u_id;primaryKey"`
Password          string    `gorm:"column:u_password"`
}

但是当我做一个.First() 查询,它说“'order clause'中的未知列'siam_users.id'”,然后 SQL 转到

SELECT * 
FROM `siam_users` 
WHERE u_account = '' AND `siam_users`.`deleted_at` 
IS NULL ORDER BY `siam_users`.`id` LIMIT 1 

我该如何解决这个问题?

去戈姆

评论

0赞 Zargham Ahmed 11/7/2023
您在结构名称“Users”中犯了错误,将其更改为“SiamUsers”
0赞 Rob 11/18/2023
如果您有一个 TableName 方法让用户返回“siam_users”,那么这应该有效。我自己测试过,gorm 在自动排序中尊重它在 First、Last、Take 上所做的标签。primaryKey

答: 暂无答案