gpt4 book ai didi

postgresql - db.QueryRow()返回错误数量的参数

转载 作者:行者123 更新时间:2023-12-01 22:27:53 25 4
gpt4 key购买 nike

我有一个名为user.go的文件,该函数GetUserByUsernameOrEmail返回用户模型和错误。它从数据库中获取此用户信息。

我的目标是获取用户SELECT的所有参数,但返回的参数比应有的少。

这是针对REST API的,但是模型本身确实是问题。用户具有user_id uuid,user_username字符串,user_email字符串,user_hash字符串,user_salt字符串,user_verified bool,user_admin bool,user_email_verified bool字段。

我没有做太多尝试,因为我不知所措以继续执行步骤。但是,为了调试,我创建了8个测试变量test, test2...test8。我将打印所有8个变量(有关更多信息,请参见下文)。

    var test string
var test2 string
var test3 string
var test4 string
var test5 string
var test6 string
var test7 string
var test8 string

err = db.QueryRow(`
SELECT
user_id,
user_username,
user_email,
user_hash,
user_salt
user_verified,
user_admin,
user_email_verified
FROM users
WHERE user_`+field+`= $1
`, value).Scan(&test, &test2, &test3, &test4, &test5, &test6, &test7, &test8)

预期的:我将8个字段扫描到8个变量中,然后继续进行下去。
实际: 2019/11/10 10:36:42 sql: expected 7 destination arguments in Scan, not 8
需要注意的其他事项
我确实将其扫描到7个变量进行测试,并在记录7个变量时得到了此信息:
5e5d2f4a-1f5b-418d-a262-a63c719a3ea4 test test@[domain].com [hash] [salt] false false

最佳答案

糟糕-我错过了user_saltuser_verified之间的逗号。感谢mkopriva的帮助。

关于postgresql - db.QueryRow()返回错误数量的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58791887/

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