首页 >后端开发 >Golang >在 Go 中使用 SQLx 时如何避免'不支持的类型 []int”错误?

在 Go 中使用 SQLx 时如何避免'不支持的类型 []int”错误?

Barbara Streisand
Barbara Streisand原创
2024-12-06 06:58:14757浏览

How to Avoid

如何使用 Go 中的 SQLx 库实现 SQL 查询

在切片中使用 SQL 查询时,您可能会遇到诸如“converting Exec argument #0's”之类的错误类型:不支持的类型 []int,切片。”为了解决这个问题,您可以利用 sqlx 库提供的 In() 辅助函数。

In() 的语法如下:

query, args, err := sqlx.In(query, args)

其中 query 是原始查询string 和 args 是要插入到查询中的值的切片。

要使用 In(),请遵循以下步骤步骤:

  1. 通过将切片传递给 In() 函数来准备查询:

    query, args, err := sqlx.In("SELECT * FROM quote WHERE qid IN (?)", qids)
  2. 为您的特定数据库重新绑定查询后端:

    query = database.SQL.Rebind(query)
  3. 执行查询:

    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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn