如何在sqlx中增加字段值
How to increment field value in sqlx
在 Go 应用程序中,使用 sqlx
包和 mysql 数据库,我想更新 table user
并将其 posts
字段增加 1 :
err = shared.Dbmap.Exec("UPDATE user SET posts=posts+1 WHERE id=?", userId)
if err != nil {
log.Println(err)
return
}
然而在编译时我得到:
multiple-value shared.Dbmap.DB.Exec() in single-value context
我看了the docs,没看到相关的例子。
我该如何解决?
消息的阅读方式multiple-value shared.Dbmap.DB.Exec() in single-value context
:
shared.Dbmap.DB.Exec()
有多个值
- 您正在尝试在单值上下文中使用它
在您的代码中有 err = shared.Dbmap.Exec(...)
.
在赋值的左侧有一个值,
右侧有多个。
查看docs,Exec(...)
函数returns 2个值,
但是你给它赋了一个值。
这样写:
_, err = shared.Dbmap.Exec("UPDATE user SET posts=posts+1 WHERE id=?", userId)
在 Go 应用程序中,使用 sqlx
包和 mysql 数据库,我想更新 table user
并将其 posts
字段增加 1 :
err = shared.Dbmap.Exec("UPDATE user SET posts=posts+1 WHERE id=?", userId)
if err != nil {
log.Println(err)
return
}
然而在编译时我得到:
multiple-value shared.Dbmap.DB.Exec() in single-value context
我看了the docs,没看到相关的例子。
我该如何解决?
消息的阅读方式multiple-value shared.Dbmap.DB.Exec() in single-value context
:
shared.Dbmap.DB.Exec()
有多个值- 您正在尝试在单值上下文中使用它
在您的代码中有 err = shared.Dbmap.Exec(...)
.
在赋值的左侧有一个值, 右侧有多个。
查看docs,Exec(...)
函数returns 2个值,
但是你给它赋了一个值。
这样写:
_, err = shared.Dbmap.Exec("UPDATE user SET posts=posts+1 WHERE id=?", userId)