我是golang的新手,使用Jmoiron Sqlx包查询Postgres数据库(select query)。我正在做的是创建一个sql字符串并调用Select(dest interface {},query string,args)方法。虽然它运行良好,但问题是我正在动态生成我的sql字符串,因此每个响应的目标结构应该是不同的。Jmoiron SQLX Golang通用界面
对于前: - 一个查询可以
Select a,b,c,d from table A ;
其他的都可以
Select x,y,z from Table B;
从我个人理解,应该有选择方法定义的工作,即
两种不同的结构Struct Resp1{
a string
b string
c string
d string
}
而且,
Struct Resp2{
x string
y string
z string
}
,然后调用选择为db.Select(&resp1,query,args)
和db.Select(&resp2,query,args)
我,如果可能想对我来说,基于我的选择查询确定一个共同的结构
say Resp3{
a string
b string
c string
d string
x string
y string
z string
}
而且只填充匹配列(即只有一个, b,c,d代表第一个,x,y,z代表第二个)。
我试过搜索,但无法获得任何线索。
选择*是一个危险的玩法(如果你添加或删除列)。这可能与goLang没问题,但应避免在ORM世界中使用通用(select *)。 –