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中文網其他相關文章!