Rumah >pangkalan data >tutorial mysql >Apakah penggantian untuk fungsi KATA LALUAN yang tidak digunakan dalam Pelayan MySQL 8.0?
Pemberhentian Fungsi KATA LALUan dalam Pelayan MySQL 8.0
Dalam Pelayan MySQL versi 8.0, fungsi KATA LALUAN telah ditamatkan dan tidak lagi beroperasi seperti yang dimaksudkan. Isu ini timbul apabila melaksanakan pertanyaan yang bergantung pada fungsi PASSWORD untuk pengesahan kata laluan.
Mesej Ralat
Apabila melaksanakan pertanyaan yang termasuk fungsi PASSWORD dalam Pelayan MySQL versi 8.0 .12, anda mungkin menghadapi ralat berikut:
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...
Penggantian untuk Fungsi KATA LALUAN
Untuk menyelesaikan isu ini, adalah disyorkan untuk menggunakan ungkapan berikut sebagai penggantian untuk fungsi PASSWORD:
SHA1(UNHEX(SHA1()))
Contoh
Sebagai contoh, jika anda sebelum ini mempunyai pertanyaan seperti:
SELECT * FROM users WHERE login = 'FABIO' AND pwd = PASSWORD('2018') LIMIT 0, 50000
Anda boleh gantikan fungsi PASSWORD dengan ungkapan:
SELECT * FROM users WHERE login = 'FABIO' AND pwd = SHA1(UNHEX(SHA1('2018'))) LIMIT 0, 50000
Dengan menggunakan ungkapan gantian yang disediakan, anda boleh memastikan pertanyaan anda terus berfungsi dengan betul dalam Pelayan MySQL versi 8.0 dan mengelakkan ralat yang dinyatakan di atas.
Atas ialah kandungan terperinci Apakah penggantian untuk fungsi KATA LALUAN yang tidak digunakan dalam Pelayan MySQL 8.0?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!