ホームページ >データベース >mysql チュートリアル >MySQL Server 8.0 で非推奨となった PASSWORD 関数の代替となるものは何ですか?
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 中国語 Web サイトの他の関連記事を参照してください。