Rumah  >  Artikel  >  pangkalan data  >  Cara Membetulkan Isu Fungsi KATA LALUAN dalam Pelayan MySQL 8.0: Panduan Sintaks

Cara Membetulkan Isu Fungsi KATA LALUAN dalam Pelayan MySQL 8.0: Panduan Sintaks

Barbara Streisand
Barbara Streisandasal
2024-10-31 07:13:02577semak imbas

How to Fix PASSWORD Function Issues in MySQL Server 8.0: A Syntax Guide

Selesaikan Masalah Fungsi KATA LALUAN dalam Pelayan MySQL 8.0

Apabila cuba untuk melaksanakan fungsi KATA LALUan dalam Pelayan MySQL versi 8.0.12, senario tertentu mungkin mencetuskan ralat. Artikel ini bertujuan untuk menangani isu tersebut dan menyediakan penyelesaian yang berdaya maju.

Kod Ralat 1064

Jika anda menghadapi ralat "Kod Ralat: 1064. Anda mempunyai ralat dalam sintaks SQL anda...", ini menunjukkan masalah dengan sintaks pertanyaan anda. Khususnya, sintaks fungsi PASSWORD telah berubah dalam Pelayan MySQL versi 8.0.

Sintaks Baharu

Dengan MySQL Server 8.0, fungsi PASSWORD telah ditamatkan penggunaannya dan digantikan dengan yang berbeza mekanisme pencincangan. Untuk mengekalkan keserasian, anda harus menggunakan sintaks berikut untuk menjana cincang yang setara dengan yang dihasilkan oleh fungsi PASSWORD dalam versi sebelumnya:

CONCAT('*', UPPER(SHA1(UNHEX(SHA1('my_password')))))

Contoh

Dalam pertanyaan yang disediakan, "pwd = PASSWORD('2018')" mewakili perbandingan lajur "pwd" dengan kata laluan statik. Untuk mendapatkan semula pengguna dengan kata laluan '2018' menggunakan sintaks baharu, anda boleh mengubah suai pertanyaan seperti berikut:

SELECT * 
FROM users 
WHERE login = 'FABIO' 
  AND pwd = CONCAT('*', UPPER(SHA1(UNHEX(SHA1('2018')))))
LIMIT 0, 50000

Atas ialah kandungan terperinci Cara Membetulkan Isu Fungsi KATA LALUAN dalam Pelayan MySQL 8.0: Panduan Sintaks. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn