登录
首页 >  Golang >  Go问答

MemSQL不支持服务器端预备好的语句错误

来源:stackoverflow

时间:2024-03-11 19:00:20 263浏览 收藏

一分耕耘,一分收获!既然都打开这篇《MemSQL不支持服务器端预备好的语句错误》,就坚持看下去,学下去吧!本文主要会给大家讲到等等知识点,如果大家对本文有好的建议或者看到有不足之处,非常欢迎大家积极提出!在后续文章我会继续更新Golang相关的内容,希望对大家都有所帮助!

问题内容

我正在尝试使用 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() 。所以你必须坚持前者 - 只是不要使用显式的 Prepare()

今天关于《MemSQL不支持服务器端预备好的语句错误》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>