添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
go sqlx 批量查询数据报错:converting argument $2 type: unsupported type []string, a slice of string
最新推荐文章于 2022-03-25 23:29:46 发布
最新推荐文章于 2022-03-25 23:29:46 发布 阅读量 3.3k

报错:
go sqlx 批量查询数据报错: converting argument $2 type: unsupported type []string, a slice of string

原因:
Quuids为[]string切片类型,应该用?占位符进行展开操作

解决:
sqlx.In(strSql, params...) // params要通过语法糖(...)进行打散,即可~

斯卡尔克斯 sqalx(发音为“ scale-x”)是在之上构建的库,它允许无缝创建嵌套事务,并避免考虑是否在事务内调用函数。 使用sqalx,您可以轻松创建可重用和可组合的函数,这些函数可在事务内或事务外调用,并可自行创建事务。 $ go get github.com/heetch/sqalx import "github.com/heetch/sqalx" package main import ( "log" "github.com/heetch/sqalx" "github.com/jmoiron/ sql x" _ "github.com/lib/pq" sql x sql x是一个库,在go的标准database/ sql 库上提供了一组扩展。 sql .DB , sql .TX , sql .Stmt等的 sql x版本。 所有这些都使基础接口保持不变,因此它们的接口是标准接口的超集。 这使得使用 数据 库/ sql sql x集成现有代码库变得相对容易。 其他主要概念是: 将行编组为结构(具有嵌入式结构支持),地图和切片 命名参数支持,包括准备好的语句 Get并Select以快速从 查询 转到结构/切片 除了,还有一些说明了如何将database/ sql sql x一起使用。 1.3.0: sql x.DB.Connx(context.Context) * sql x.Conn sql x.BindDriver(driverName, bind Type ) 支持[]map[ string ]interface{}进行“ 批量 ”插入 sql x.In分配和性能改 内置 :red_heart_selector: 由 SQL x是一个异步的纯Rust † SQL 条板箱,具有无需DSL即可进行编译时检查的 查询 。 真正的异步。 使用async / await从头开始构建,以实现最大的并发性。 没有DSL的类型安全 SQL (如果需要)。 使用query!()宏在编译时检查 SQL 并绑定参数。 (如果愿意,您仍然可以使用动态 SQL 查询 。) 数据 库不可知论。 支持 , , 和 。 纯Rust。 Postgres和My SQL / MariaDB驱动程序是使用零不安全††代码以纯Rust编写的。 运行时不可知。 适用于不同的运行时( / / )和TLS后端( , )。 †由于 SQL ite是嵌入式 数据 库,因此 SQL ite驱动程序使用lib sql ite3 C库(对于 SQL ite来说,纯Rust的唯一方法是将所有 SQL ite移植到Rust)。 †† SQL x使用#![forbid(unsafe_code)]除非启用了 sql ite功能。 当 SQL ite驱动程序与C交互时,这些交互是uns 今天遇到了一个 bug, 是 golang 的orm导致的. 使用了gorm框架. 通过实现Scan与Value可以将 数据 库中的 json 内容解析出来, 免除了 字符串再解码的步骤. 当时 报错 的代码大概是这样的: type TestContent struct { Id int Content Content // 数据 库中的 json 结构 type Content struct { Name string Age int func (c *Content) Scan(v 在使用gorm包定义的 数据 库的结构如下: type SystemParameter struct { GlobalSslEnable bool `json:"globalSslEnable,omitempty"` GlobalSslVisitedHosts [] string `json:"globalSslVisitedHosts,omitempt _, delRolErr := session.Where("code in ?", codes ).Delete(po.User{}) 上面删除语句执行时 报错 convert ing argument $1 type : unsuppo... sql 执行 exec源码,如下: // Exec executes a prepared statement with the given argument s and // returns a Result summariz ing the effect of the statement. func (s *Stmt) Exec(args ...interface{}) (Result, error) { return s.ExecContext(context.Background(), args... 最近在使用xorm,并使用了 sql builder来构建 sql 查询 没想到升级后原来可以使用的代码居然 报错 了。 0x00 代码 sql , args, _ := builder.Select("*"). From("user"). Where(builder.Eq{"uid": 1}). To SQL () res, err := orm.QueryStri... Id int `db:"id"` Code * string `db:"code"` NickName string `db:"nick_name"` Phone string `db:"phone"` Password string `db:"passw go语言常见陷阱(英文原文)[https://deadbeef.me/2018/01/go-gotchas]Range在golang中我们经常用range来遍历 slice 或chan,如果要更改 slice 中的成员应该怎么做?下面代码要把动物园中所有动物的腿变为999 type Animal struct { name string legs int }func main() {