Memsql выдает ошибку MemSQL не поддерживает подготовленные операторы на стороне сервера

Я пытаюсь выполнить запрос в 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)

1 ответ

В драйвере Go опция interpolateParams=true применяется только к таким вещам, как Exec("INSERT INTO squareNum VALUES( ?, ? )", 1, 2) - это не относится к Prepare(), Так что вам придется придерживаться первого - просто не используйте явные Prepare()

Другие вопросы по тегам