gpt4 book ai didi

go - 如何使用 sqlx 更新多行?

转载 作者:数据小太阳 更新时间:2023-10-29 03:08:36 26 4
gpt4 key购买 nike

我想在单个查询中更新多行:

//threadIDs is a variable length slice of integers like [3 5 6]
query := "UPDATE message SET recipient_deleted=? WHERE recipient_id=? AND thread_id IN ?"
_, err := database.SQL.Exec( query, 1, userID, threadIDs)
if err != nil {
log.Fatal(err)
}

但是我得到这个运行时错误:

sql: converting argument $3 type: unsupported type []int, a slice of int

我该如何解决这个问题?

最佳答案

您可以使用 sqlx.In它返回一个新的查询和一个新的 args slice ,然后您可以使用它来代替原始值,如下所示:

query := "UPDATE message SET recipient_deleted=? WHERE recipient_id=? AND thread_id IN (?)"

qry, args, err := sqlx.In(query, 1, userID, threadIDs)
if err != nil {
panic(err)
}

if _, err := database.SQL.Exec(qry, args...); err != nil {
panic(err)
}

关于go - 如何使用 sqlx 更新多行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56568799/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com