检查两个值是不是存在并返回命名布尔值
Posted
技术标签:
【中文标题】检查两个值是不是存在并返回命名布尔值【英文标题】:Check if two values exists and return named boolean检查两个值是否存在并返回命名布尔值 【发布时间】:2018-11-23 18:49:36 【问题描述】:我正在尝试检查表中是否存在两个值,例如伪和电子邮件:如果用户想在我的网站上注册,我必须检查他的伪和电子邮件是否已经被占用。
所以这就是我的工作:
"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
但它给了我一个错误。
你知道我该怎么做吗?
【问题讨论】:
【参考方案1】:您可以在具有适当列名的单行中获取结果,例如:
SELECT
EXISTS (SELECT 1 FROM users WHERE pseudo=$1) AS pseudo,
EXISTS (SELECT 1 FROM users WHERE mail=$2) AS mail
【讨论】:
以上是关于检查两个值是不是存在并返回命名布尔值的主要内容,如果未能解决你的问题,请参考以下文章