gpt4 book ai didi

sql - 使用一个查询作为使用 Postgresql 的登录

转载 作者:行者123 更新时间:2023-11-29 13:03:18 25 4
gpt4 key购买 nike

我正在尝试使用此查询将用户登录到使用 Postgresql 数据库的应用程序。

SELECT * 
FROM users
WHERE users.username = 'somename'
AND users.pswd = md5(CONCAT('password','select users.salt from users where users.username = 'somename'))

SELECT *
FROM users
WHERE users.username = 'somename'
AND users.pswd = md5(CONCAT('password','(select users.salt from users where users.username = 'somename' )'))

这两个选项都在第二个 somename 处返回错误。引号似乎有问题。我也尝试过使用双引号。

有人知道正确的语法吗?谢谢。

最佳答案

语法错误是因为您将子查询放在引号中,然后试图在其中嵌套更多引号。你正在尝试的是这个:

SELECT * 
FROM users
WHERE users.username = 'somename'
AND users.pswd = md5(CONCAT('password',(select users.salt from users where users.username = 'somename' )))

但是,您实际上根本不需要子查询,因为盐在 where 子句正在测试的行中,所以这应该可以正常工作:

SELECT * 
FROM users
WHERE users.username = 'somename'
AND users.pswd = md5(CONCAT('password',users.salt))

关于sql - 使用一个查询作为使用 Postgresql 的登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22424172/

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