Code d'erreur MySQL TOP 10TOP 10 lors de la mise à jour dans MySQL

Code d'erreur MySQL TOP 10TOP 10 lors de la mise à jour dans MySQL

«Lorsque vous travaillez avec des bases de données MySQL, vous pouvez rencontrer le« code d'erreur 1175 »déclenché lors de l'exécution d'une mise à jour ou de supprimer des instructions."

Ce message discutera de la cause de cette erreur et de la façon dont nous pouvons le résoudre à l'aide du serveur MySQL.

Ce qui cause le «Code d'erreur MySQL 1175»?

Le «Code d'erreur MySQL 1175» se produit lors de l'exécution d'une opération de mise à jour ou de suppression sans utiliser la clause WHERE.

Par défaut, MySQL utilise une fonctionnalité appelée Safe_Mode qui vous empêche d'exécuter une instruction de mise à jour ou de suppression sans une clause WHERE. Cela empêche toute perte de données accidentelle sur la cible.

Par conséquent, lorsque la fonction SAFE_MODE est activée, MySQL renvoie le code d'erreur 1175 sur toute opération de suppression ou de mise à jour qui n'inclut pas une clause où.

Un exemple est indiqué ci-dessous:

Mettre à jour Sakila.Titre de film de film = «Nouveau titre»;

Dans ce cas, nous essayons de modifier la valeur de la colonne de titre sans spécifier la ligne que nous souhaitons cibler. Cela peut nous amener à écraser l'ensemble du tableau avec la valeur spécifiée. Par conséquent, MySQL empêchera cela et renvoie une erreur comme indiqué:

MySQL Vérifiez si Safe_Mode est activé

La fonction State of the Safe_Mode est stockée dans la variable SQL_SAFE_UPDATES. Par conséquent, nous pouvons récupérer la valeur de cette variable pour déterminer si la fonction safe_Mode est activée ou non.

La requête est comme indiqué:

afficher des variables comme 'SQL_SAFE_UPDATES';

La requête doit renvoyer l'état comme indiqué:

+------------------+-------+
| Variable_name | Valeur |
+------------------+-------+
| sql_safe_updates | Sur |
+------------------+-------+
1 ligne en jeu (0.00 sec)

Dans ce cas, nous pouvons voir que la fonction SAFE_MODE est activée sur la session.

Comment résoudre «Code d'erreur MySQL 1175»

La meilleure façon de résoudre ce type d'erreur est d'utiliser une clause où. Cependant, dans certains cas, nous devrons peut-être effectuer une mise à jour ou une suppression sans aucune condition.

Pour ce faire, nous pouvons désactiver la fonction SAFE_MODE dans la session, nous permettant d'exécuter la requête. Ensuite, nous pouvons utiliser la commande set suivie du nom de la variable et de la valeur que nous souhaitons définir.

Par exemple, pour désactiver Safe_Mode, nous définissons la valeur de la variable SQL_SAFE_UPDATES sur 0. La requête est comme indiqué:

Set sql_safe_updates = 0;

Pour l'activer, définissez la valeur sur 1 comme:

Set sql_safe_updates = 1;

Dans MySQL Workbench, vous pouvez désactiver la fonctionnalité Safe_Mode en naviguant vers Edit-> Préférences -> Éditeur SQL

Désactivé la fonction «Mises à jour sûres» et redémarré votre session au serveur.

Résiliation

Vous avez appris la cause du «Code d'erreur MySQL 1175» dans cet article lors de l'exécution de mise à jour ou de supprimer des instructions. Vous avez également appris à résoudre l'erreur en désactivant la fonctionnalité MySQL Safe_Mode.