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中文网其他相关文章!