Maison  >  Article  >  base de données  >  Comment résoudre les problèmes de fonction PASSWORD dans MySQL Server 8.0 : un guide de syntaxe

Comment résoudre les problèmes de fonction PASSWORD dans MySQL Server 8.0 : un guide de syntaxe

Barbara Streisand
Barbara Streisandoriginal
2024-10-31 07:13:02577parcourir

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

Résoudre les problèmes de fonction PASSWORD dans MySQL Server 8.0

Lors de la tentative d'exécution de la fonction PASSWORD dans MySQL Server version 8.0.12, certains scénarios peuvent déclencher une erreur. Cet article vise à résoudre ces problèmes et à fournir une solution viable.

Code d'erreur 1064

Si vous rencontrez l'erreur « Code d'erreur : 1064. Vous avez une erreur dans votre syntaxe SQL...", cela indique un problème avec la syntaxe de votre requête. Plus précisément, la syntaxe de la fonction PASSWORD a changé dans MySQL Server version 8.0.

Nouvelle syntaxe

Avec MySQL Server 8.0, la fonction PASSWORD a été obsolète et remplacée par une autre mécanisme de hachage. Pour maintenir la compatibilité, vous devez utiliser la syntaxe suivante pour générer un hachage équivalent à celui produit par la fonction PASSWORD dans les versions précédentes :

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

Exemple

Dans la requête fournie, "pwd = PASSWORD('2018')" représente la comparaison de la colonne "pwd" avec un mot de passe statique. Pour récupérer les utilisateurs avec le mot de passe '2018' en utilisant la nouvelle syntaxe, vous pouvez modifier la requête comme suit :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn