Maison >base de données >tutoriel mysql >Quel est le remplacement de la fonction obsolète PASSWORD dans MySQL Server 8.0 ?
Abandon de la fonction PASSWORD dans MySQL Server 8.0
Dans MySQL Server version 8.0, la fonction PASSWORD est obsolète et ne fonctionne plus comme prévu. Ce problème survient lors de l'exécution de requêtes qui s'appuient sur la fonction PASSWORD pour la validation du mot de passe.
Message d'erreur
Lors de l'exécution d'une requête incluant la fonction PASSWORD dans MySQL Server version 8.0 .12, vous pouvez rencontrer l'erreur suivante :
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...
Remplacement de la fonction MOT DE PASSE
Pour résoudre ce problème, il est recommandé d'utiliser l'expression suivante comme remplacement de la fonction MOT DE PASSE :
SHA1(UNHEX(SHA1()))
Exemple
Par exemple, si vous avez déjà eu une requête du type :
SELECT * FROM users WHERE login = 'FABIO' AND pwd = PASSWORD('2018') LIMIT 0, 50000
Vous pouvez remplacez la fonction PASSWORD par l'expression :
SELECT * FROM users WHERE login = 'FABIO' AND pwd = SHA1(UNHEX(SHA1('2018'))) LIMIT 0, 50000
En utilisant l'expression de remplacement fournie, vous pouvez vous assurer que vos requêtes continuent de fonctionner correctement dans MySQL Server version 8.0 et éviter l'erreur mentionnée ci-dessus.
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!