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

Code D Erreur Mysql 1175 Lors De La Mise A 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 instruction UPDATE ou DELETE.'

Ce post discutera de la cause de cette erreur et comment nous pouvons la résoudre en utilisant le serveur MySQL.







Qu'est-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 UPDATE ou DELETE 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 UPDATE ou DELETE sans clause WHERE. Cela évite toute perte accidentelle de données sur la cible.



Par conséquent, lorsque la fonctionnalité safe_mode est activée, MySQL renverra le code d'erreur 1175 sur toute opération DELETE ou UPDATE qui n'inclut pas de clause WHERE.





Un exemple est illustré ci-dessous :

mettre à jour sakila.film Positionner titre = '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 toute la table avec la valeur spécifiée. Par conséquent, MySQL empêchera cela et renverra une erreur comme indiqué :

MySQL vérifie si Safe_Mode est activé

L'état de la fonctionnalité safe_mode est stocké dans la variable sql_safe_updates. Par conséquent, nous pouvons récupérer la valeur de cette variable pour déterminer si la fonctionnalité 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é :

+-----------------+-------+
| Nom de variable | Évaluer |
+-----------------+-------+
| sql_safe_updates | SUR |
+-----------------+-------+
1 ligne dans Positionner ( 0,00 seconde )

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

Comment résoudre le 'code d'erreur MySQL 1175'

La meilleure façon de résoudre ce type d'erreur consiste à utiliser une clause WHERE. 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 fonctionnalité safe_mode dans la session, ce qui nous permet 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 la suivante :

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 accédant à Édition-> Préférences -> Éditeur SQL

Désactivé la fonction 'Safe Updates' et redémarré votre session sur le serveur.

Résiliation

Vous avez appris la cause du 'Code d'erreur MySQL 1175' dans cet article lors de l'exécution d'instructions UPDATE ou DELETE. Vous avez également appris comment résoudre l'erreur en désactivant la fonctionnalité MySQL safe_mode.