MySQL Server 8.0 の PASSWORD 関数の問題のトラブルシューティング
MySQL Server バージョン 8.0.12 で PASSWORD 関数を実行しようとすると、特定のシナリオで問題が発生する可能性があります。エラーを引き起こします。この記事は、このような問題に対処し、実行可能な解決策を提供することを目的としています。
エラー コード 1064
エラー コード: 1064 が発生した場合は、次のエラーが発生します。 SQL 構文...」というメッセージは、クエリの構文に問題があることを示しています。具体的には、PASSWORD 関数の構文が MySQL Server バージョン 8.0 で変更されました。
新しい構文
MySQL Server 8.0 では、PASSWORD 関数は非推奨になり、別の関数に置き換えられました。ハッシュメカニズム。互換性を維持するには、次の構文を使用して、以前のバージョンの PASSWORD 関数によって生成されたハッシュと同等のハッシュを生成する必要があります。
CONCAT('*', UPPER(SHA1(UNHEX(SHA1('my_password')))))
Example
In提供されたクエリ「pwd = PASSWORD('2018')」は、「pwd」列と静的パスワードの比較を表します。新しい構文を使用してパスワード「2018」を持つユーザーを取得するには、クエリを次のように変更します:
SELECT * FROM users WHERE login = 'FABIO' AND pwd = CONCAT('*', UPPER(SHA1(UNHEX(SHA1('2018'))))) LIMIT 0, 50000
以上がMySQL Server 8.0 で PASSWORD 関数の問題を修正する方法: 構文ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。