簡體   English   中英

使用Golang sql在單值上下文中使用多值.Exec()

[英]multiple-value .Exec() in single-value context with Golang sql

我正在嘗試使用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)

該數據庫具有以下列(struct復制):

    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(...)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM