我正在运行以下查询,但只获取第一个 id 值:-
select * from `table` where table`.`id` in ('1', '2', '3', '4', '5', '6', '7', '9', '11', '13', '14', '15', '17') and `table`.`deleted_at` is null
我已完成以下操作:-
var aID = make([]string, 0)
var in India // india is struct
for rows.Next() {
cook := rows.Scan(&in.ID)
aID = append(aID, strconv.Itoa(in.ID))
}
asID = strings.Join(aID, ",")
anotherRow,err := db.Query("SELECT * from table2 where id in (?)", asID)
if err != nil { fmt.Printf("Error: ", err) }
// ... Other line follows up with "for anotherRow.Next() and fetching"
在获取数据时,它仅返回值“1”并忽略传递给它的所有其他 ID,即'2', '3', '4', '5', '6', '7', '9', '11', '13', '14', '15', '17'
.
怎样才能正确通过呢?
我在用go-sql-driver/mysql
.
FAQ :
-
aID
确实包含所有这些数字作为字符串并且
-
表包含上面提供的所有可用行id
.
-
table
是从哪里来的id
被获取并附加到aID
和另一条记录id
存储在aID
被获取in
声明来自table2
.
Thanks