首页 >数据库 >mysql教程 >MySQL Server 8.0 中已弃用的 PASSWORD 函数的替代品是什么?

MySQL Server 8.0 中已弃用的 PASSWORD 函数的替代品是什么?

Barbara Streisand
Barbara Streisand原创
2024-10-29 02:51:30451浏览

What is the replacement for the deprecated PASSWORD function in MySQL Server 8.0?

MySQL Server 8.0 中停止使用 PASSWORD 函数

在 MySQL Server 8.0 版本中,PASSWORD 函数已被弃用,并且不再按预期运行。当执行依赖 PASSWORD 函数进行密码验证的查询时,会出现此问题。

错误消息

在 MySQL Server 版本 8.0 中执行包含 PASSWORD 函数的查询时,会出现此问题.12,您可能会遇到以下错误:

Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near...

替换 PASSWORD 函数

要解决此问题,建议使用以下表达式作为替换 PASSWORD 函数:

SHA1(UNHEX(SHA1()))

示例

例如,如果您之前有如下查询:

SELECT * 
FROM users 
WHERE login = 'FABIO' 
AND pwd = PASSWORD('2018') 
LIMIT 0, 50000

您可以将 PASSWORD 函数替换为表达式:

SELECT * 
FROM users 
WHERE login = 'FABIO' 
AND pwd = SHA1(UNHEX(SHA1('2018'))) 
LIMIT 0, 50000

通过使用提供的替换表达式,您可以确保您的查询在 MySQL Server 8.0 版本中继续正常运行,并避免上述错误。

以上是MySQL Server 8.0 中已弃用的 PASSWORD 函数的替代品是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn