检查两个值是否存在并且 return 命名为布尔值
Check if two values exists and return named boolean
我正在尝试检查 table 中是否存在两个值,例如 pseudo 和 email:如果用户想在我的网站上注册,我必须检查他的 pseudo 和 email 是否已经被占用.
所以这就是我所做的:
"SELECT EXISTS (SELECT 1 FROM users WHERE pseudo=)
UNION ALL
SELECT EXISTS (SELECT 1 FROM users WHERE mail=)", pseudo, email
(最后的"pseudo, email"是因为我用的是Golang,那些是语句中传递的变量)
有效,例如 return "false false"。但我希望它 return 像这样:
pseudo: false
email: false
但我不知道如何命名 return 的布尔值。我试过这个:
"SELECT EXISTS (SELECT 1 FROM users WHERE pseudo=) AS pseudo
UNION ALL
SELECT EXISTS (SELECT 1 FROM users WHERE mail=) AS email", pseudo, email
但是它给我一个错误。
你知道我该怎么做吗?
您可以在具有适当列名的单行中获得结果,例如:
SELECT
EXISTS (SELECT 1 FROM users WHERE pseudo=) AS pseudo,
EXISTS (SELECT 1 FROM users WHERE mail=) AS mail
我正在尝试检查 table 中是否存在两个值,例如 pseudo 和 email:如果用户想在我的网站上注册,我必须检查他的 pseudo 和 email 是否已经被占用.
所以这就是我所做的:
"SELECT EXISTS (SELECT 1 FROM users WHERE pseudo=)
UNION ALL
SELECT EXISTS (SELECT 1 FROM users WHERE mail=)", pseudo, email
(最后的"pseudo, email"是因为我用的是Golang,那些是语句中传递的变量)
有效,例如 return "false false"。但我希望它 return 像这样:
pseudo: false
email: false
但我不知道如何命名 return 的布尔值。我试过这个:
"SELECT EXISTS (SELECT 1 FROM users WHERE pseudo=) AS pseudo
UNION ALL
SELECT EXISTS (SELECT 1 FROM users WHERE mail=) AS email", pseudo, email
但是它给我一个错误。
你知道我该怎么做吗?
您可以在具有适当列名的单行中获得结果,例如:
SELECT
EXISTS (SELECT 1 FROM users WHERE pseudo=) AS pseudo,
EXISTS (SELECT 1 FROM users WHERE mail=) AS mail