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() {