【发布时间】:2023-03-28 04:52:01
【问题描述】:
我正在尝试检查表中是否存在两个值,例如伪和电子邮件:如果用户想在我的网站上注册,我必须检查他的伪和电子邮件是否已经被占用。
所以这就是我的工作:
"SELECT EXISTS (SELECT 1 FROM users WHERE pseudo=$1)
UNION ALL
SELECT EXISTS (SELECT 1 FROM users WHERE mail=$2)", pseudo, email
(最后的"pseudo, email"是因为我使用Golang,这些是语句中传递的变量)
它有效,例如返回“false false”。但我希望它像这样返回:
pseudo: false
email: false
但我不知道如何命名返回的布尔值。我试过这个:
"SELECT EXISTS (SELECT 1 FROM users WHERE pseudo=$1) AS pseudo
UNION ALL
SELECT EXISTS (SELECT 1 FROM users WHERE mail=$2) AS email", pseudo, email
但它给了我一个错误。
你知道我该怎么做吗?
【问题讨论】:
标签: postgresql exists