1
我有像我下面的模型结构:Golang:SQLX StructScan映射数据库列结构
type Detail struct {
Product
Stocks
}
type Product struct {
Name string `db:"name"`
Id int `db:"id"`
}
type Stocks {
Name string `db:"name"`
Price float `db:"price"`
Type string `db:"type"`
}
我想有一个查询加入上述表格的形式大致如下:
query, args, err := sqlx.In("select p.name , s.price from Product p,Stocks s where p.name=s.name and type IN (?)",typecodes)
query = s.Cmd.Db.Rebind(query)
var rows *sqlx.Rows
rows, err = s.Cmd.Db.Queryx(query, args...)
for rows.Next() {
var p model.Detail
err = rows.StructScan(&p)
}
会想知道我什么时候做rows.StructScan(& p)将产品结构名称字段填充或将有任何ambuigity发现相同,因为股票也有名称字段?
目前我没有得到上述任何结果。但是当我评论股票结构中的名称字段时,我正在获取数据。
让我知道我在这里失踪。
对于模棱两可的领域你最好与他们的结构名称的前缀,注解它们,例如'product_name','stock_name',然后在您的SQL语句中适当地使用它们。 –
感谢Martin.It工作得很好:) –
@MartinGallagher发布那个答案。 – icza