在切片中使用 SQL 查询时,您可能会遇到诸如“converting Exec argument #0's”之类的错误类型:不支持的类型 []int,切片。”为了解决这个问题,您可以利用 sqlx 库提供的 In() 辅助函数。
In() 的语法如下:
query, args, err := sqlx.In(query, args)
其中 query 是原始查询string 和 args 是要插入到查询中的值的切片。
要使用 In(),请遵循以下步骤步骤:
通过将切片传递给 In() 函数来准备查询:
query, args, err := sqlx.In("SELECT * FROM quote WHERE qid IN (?)", qids)
为您的特定数据库重新绑定查询后端:
query = database.SQL.Rebind(query)
执行查询:
err = database.SQL.Select(&quotes, query, args...)
或者,您可以将准备和执行步骤合并到一行中:
err = database.SQL.Select(&quotes, database.SQL.Rebind(query), args...)
有关其他示例和文档,请参阅 sqlx库文档位于 http://jmoiron.github.io/sqlx/。
以上是在 Go 中使用 SQLx 时如何避免'不支持的类型 []int”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!