“github.com/go-pg/pg/v10“查询时自动给表名称加s、es或者ies

比如我们的实体为:

type User struct {
    
    
	Name string
}

执行:

	var user User
	err := db.Model(&user).Select()

映射后的SQL语句为:

select * from users

select * from users 这边多了一个"s"
此时就会报如下错误:

![在这里插入图片描述](https://img-blog.csdnimg.cn/065056098b03456ba614e33b092195c2.png
同样,如果实体是也s结尾的,表名会加es,如果是以y结尾会改y为i加es

我们当然不希望它自己改变
解决方法:
在实体中增加 tableName struct{} pg:"tx_history,discard_unknown_columns"

比如上面的user

type User struct {
    
    
    tableName      struct{
    
    } `pg:"user,discard_unknown_columns"`
	Name string
}

加了之后那么表名称就是我们自己设定的了
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_40585384/article/details/123091921