我正在尝试使用Golang和GORM从SQL Server查询数据。但我得到以下错误:-
```js
DB Connection: &{{{0 0} 0 0 0 0} <nil> <nil> 0 0xc0000a4480 false 0 {0xc0000e5db0} <nil> {{0 0} {<nil>} map[] 0} 0xc00004c5b0 0xaccbe0 0xc00014d0a0 false <nil>}
HasTable- Currency: true
{CurrencyId:0 Code: Description:}
[35m(C:/Users/RahulBFL/Documents/architechbc/dot net/GORM/main.go:26)[0m
[33m[2019-12-27 15:56:13][0m [31;1m mssql: Invalid object name 'currencies'. [0m
我正在尝试使用Golang和GORM从SQL Server查询数据。但我得到以下错误:-
```js
DB Connection: &{{{0 0} 0 0 0 0} <nil> <nil> 0 0xc0000a4480 false 0 {0xc0000e5db0} <nil> {{0 0} {<nil>} map[] 0} 0xc00004c5b0 0xaccbe0 0xc00014d0a0 false <nil>}
HasTable- Currency: true
{CurrencyId:0 Code: Description:}
[35m(C:/Users/RahulBFL/Documents/architechbc/dot net/GORM/main.go:26)[0m
[33m[2019-12-27 15:56:13][0m [31;1m mssql: Invalid object name 'currencies'. [0m
如果检查错误,Invalid object name 'currencies'它将尝试查找名为的表currencies。默认情况下,gorm会使表名复数。如果您想要一个自定义表名,可以如下定义:
func (Currency) TableName() string {
return "currency"
}
或者,您可以使用以下命令全局禁用它:
db.SingularTable(true)
因此,您的示例应如下所示:
type Currency struct {
CurrencyId int
Code string
Description string
CreateDate time.Time
}
func (Currency) TableName() string {
return "currency"
}
func main() {
db, err := gorm.Open("mssql", "sqls*******talog=dbo")
db.SingularTable(true)
fmt.Println("db.HasTable: Currency:", db.HasTable("ClientUser"))
var Currency []Currency
db.Find(&Currency)
....
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。