我正在尝试使用 golang 和标准 sql 驱动程序更新 SQLite3 数据库中单行中的多个值,但在调试以下错误时遇到问题:
command-line-arguments
./server.go:169: multiple-value updateStatement.Exec() in single-value context
相关代码如下(无关代码已省略):
SQL语句:
const (
rsvpSubmit = "UPDATE rsvp SET Name = ?, Rsvp = ?, Guests = ?, Meal0 = ?, Meal1 = ?, Comments = ?, ModifiedAt = ? WHERE email = ?"
)
var (
updateStatement *sql.Stmt
)
errr := updateStatement.Exec(
r.FormValue("name"),
r.FormValue("rsvp"),
r.FormValue("guests"),
r.FormValue("meal0"),
r.FormValue("meal1"),
r.FormValue("comments"),
time.Now(),
cookie.Value)
数据库有以下列(结构复制):
type User struct {
Id int
Email string
Name sql.NullString
Rsvp sql.NullInt64
Guests sql.NullInt64
Meal0 sql.NullString
Meal1 sql.NullString
Comments sql.NullString
ModifiedAt sql.NullString
}
非常感谢任何帮助!
最佳答案
Stmt.Exec
定义为:
func (s *Stmt) Exec(args ...interface{}) (Result, error)
如果你不关心结果那么你可以使用_, err := updateStatement.Exec(...)
关于sql - 单值上下文中的多值 .Exec() 与 Golang sql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26182802/