tony
tony

Reputation: 33

Memsql throws error MemSQL does not support server-side prepared statements

I am trying to execute query in memsql with golang. But i keep getting error. "MemSQL does not support server-side prepared statements."

I am even using "interpolateParams=true" but still the same error.

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)

Upvotes: 0

Views: 277

Answers (1)

Jack Chen
Jack Chen

Reputation: 1214

In Go's driver, the interpolateParams=true option only applies to things like Exec("INSERT INTO squareNum VALUES( ?, ? )", 1, 2) - it doesn't apply to Prepare(). So you'll have to stick with the former - just don't use explicit Prepare()

Upvotes: 1

Related Questions