首頁 >資料庫 >mysql教程 >MySQL Server 8.0 中已棄用的 PASSWORD 函數的替代品是什麼?

MySQL Server 8.0 中已棄用的 PASSWORD 函數的替代品是什麼?

Barbara Streisand
Barbara Streisand原創
2024-10-29 02:51:30401瀏覽

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