我正在以手动方式使用MySQL PASSWORD()
,因为它在MySQL 8
中不起作用(不建议使用)
CONCAT('*', UPPER(SHA1(UNHEX(SHA1('PWD')))))
大写Upper()
转换不适用于MySQL 5.7。
有什么建议吗?
另一个函数内的上部函数在某些MySQL版本中不起作用。它是一个MySQL错误。
请确保您使用正确的字符集。
返回所有字符均变为大写的字符串str根据当前字符集映射。默认是utf8mb4。
https://dev.mysql.com/doc/refman/8.0/en/string-functions.html#function_upper
因此检查您的字符集,并最终在选择中更改所需的值
这只是一个建议,如果我与嵌套调用有关的错误尝试使用嵌套子查询,例如:
select concat('*', UPPER(t.col))
from ( select SHA1(UNHEX(SHA1('PWD'))) col
) t