Maison >base de données >tutoriel mysql >Comment corriger l'erreur MySQL 1356 : références de table non valides dans les requêtes UPDATE ?

Comment corriger l'erreur MySQL 1356 : références de table non valides dans les requêtes UPDATE ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-27 11:02:10686parcourir

How to Fix MySQL Error 1356: Invalid Table References in UPDATE Queries?

Erreur MySQL 1356 : références de table non valides dans la requête de mise à jour

Tenter de mettre à jour les autorisations utilisateur à l'aide de la commande UPDATE peut entraîner l'erreur :

ERROR 1356 (HY000): View 'mysql.user' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them

Comprendre l'erreur

Dans MariaDB 10.4 et supérieur, mysql.user est une vue, pas une table. Par conséquent, l'exécution de mises à jour directes sur cette vue n'est plus prise en charge.

Solution

Pour résoudre cette erreur, utilisez les pratiques recommandées suivantes :

  • Utilisez SET PASSWORD ou ALTER USER pour les modifications d'authentification :
    Gérez l'authentification des utilisateurs à l'aide de SET PASSWORD ou ALTER USER commandes.
  • Évitez de manipuler les utilisateurs existants :
    La modification des composants utilisateur/hôte des noms d'utilisateur existants peut entraîner des incohérences. Au lieu de cela, supprimez et recréez les utilisateurs si nécessaire.

Exemple

Pour accorder l'accès à distance à l'utilisateur root dans MariaDB 10.4, utilisez la commande suivante :

ALTER USER 'root'@'%' IDENTIFIED BY 'new_password';

Précautions

  • Référez-vous toujours à la documentation officielle pour obtenir les informations les plus récentes sur MySQL et Mécanismes d'authentification MariaDB.
  • La copie de commandes à partir de sources obsolètes peut entraîner des erreurs et des comportements inattendus.

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