postgres 9.3
Использование, go 1.6
Golang postgres Commit неизвестная ошибка команды?
Я пытался использовать транзакции с библиотекой go
pq
.
// Good
txn, _ := db.Begin()
txn.Query("UPDATE t_name SET a = 1")
err := txn.Commit() // err is nil
// Bad
txn, _ := db.Begin()
txn.Query("UPDATE t_name SET a = $1", 1)
err := txn.Commit() // Gives me a "unexpected command tag Q" error
// although the data is committed
По какой-то причине, когда я исполняю Query
с параметрами, я всегда получаю ошибку unexpected command tag Q
от Commit()
. Что это за ошибка (что такое Q?) И почему я ее получаю?
Я считаю, что ошибка создается this.
Ваше заявление не возвращает никаких строк. Попробуйте Exec. Q - идентификатор протокола, отправленный на бэкэнд для запроса, для выполнения, который он отправляет E. –
Вы игнорируете ошибку, возвращаемую из 'db.Begin()' и 'txn.Query()'; возможно, одна из них имеет ошибку, которая может пролить некоторый свет на проблему перед 'txn.Commit()' –
@DmitriGoldring, спасибо! Это решило. – Derek