go - Memsql 抛出错误 MemSQL 不支持服务器端准备好的语句

标签 go nosql singlestore

我正在尝试使用 golang 在 memsql 中执行查询。但我不断出错。 “MemSQL 不支持服务器端准备好的语句。”

我什至使用了“interpolateParams=true”,但仍然出现同样的错误。

var Dbmysql, err = sql.Open("mysql", "root:@/memsql?interpolateParams=true") 
tx,err := Dbmysql.Begin()
fmt.Println(err)
stmt, err := tx.Prepare("INSERT INTO squareNum VALUES( ?, ? )") // ? = placeholder
fmt.Println(err)

for i:=0;i<1e6;i++{
    _,err = stmt.Exec("test",1)
    log.Println(tx.Rollback())
    fmt.Println(err)
} 

err = tx.Commit()
fmt.Println(err)

最佳答案

在 Go 的驱动程序中,interpolateParams=true 选项仅适用于 Exec("INSERT INTO squareNum VALUES( ?, ? )", 1, 2) - 它不适用于 准备()。所以你必须坚持使用前者 - 只是不要使用显式 Prepare()

关于go - Memsql 抛出错误 MemSQL 不支持服务器端准备好的语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51711919/

相关文章:

singlestore - MemSQL 不支持功能 'Backup of a database containing a columnar table'

docker - 如何使用 Docker Compose v2 使卷永久化

elixir - 如何从 Elixir 连接到 MemSQL

methods - 如何获取类型化函数的方法字段(Go)

encryption - Golang 在不同的机器上生成相同的加密

javascript - 将参数传递给 CouchDb 中的映射函数

neo4j - 用于节点/边缘用户访问控制的图形建模方法

mongodb - 我可以/应该使用面向文档的数据库作为用户数据库吗?

json - 为什么我的 Go 服务器不能正确解码从客户端发送的 JSON?

go - 如何在 golang CLI 中在远程机器上执行命令?