1054 votes

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

Je veux mettre à jour la colonne visited pour lui donner la valeur 1. J'ai essayé cette commande dans l'éditeur SQL à l'intérieur de MySQL Workbench :

UPDATE nomtable SET nomcolonne=1;

Mais je reçois une erreur qui dit :

Vous utilisez le mode de mise à jour sécurisé et vous avez essayé de mettre à jour une table sans une clause WHERE qui utilise une colonne CLÉ Pour désactiver le mode sécurisé, basculez l'option ....

J'ai suivi les instructions, et j'ai décoché l'option mise à jour sécurisée du menu Édition puis Préférences puis Éditeur SQL. Mais je continue à recevoir la même erreur.

Qu'est-ce qui ne va pas ? Comment puis-je mettre à jour la valeur ?

4 votes

Êtes-vous conscient que cela mettra à jour toutes les lignes de votre table où visited = 0 pour devenir visited = 1 ? Est-ce ce que vous voulez ?

31 votes

Après avoir décoché "Mises à jour sécurisées", suivez les étapes ci-dessous : Requête --> Reconnexion au serveur. Maintenant, exécutez votre requête

5 votes

Vous devez vous reconnecter au serveur MySQL (redémarrer la connexion MySQL) avant que ce changement prenne effet.

2032voto

Habibillah Points 3586

Il semble que votre session MySql ait l'option safe-updates activée. Cela signifie que vous ne pouvez pas mettre à jour ou supprimer des enregistrements sans spécifier une clé (par exemple, clé primaire) dans la clause where.

Essayez :

SET SQL_SAFE_UPDATES = 0;

Ou vous pouvez modifier votre requête pour suivre la règle (utiliser clé primaire dans la clause where).

71 votes

Assurez-vous de rétablir cela avec SET SQL_SAFE_UPDATES = 1 une fois que vous avez terminé, car il s'agit d'une fonctionnalité de sécurité valable.

0 votes

Encore en activité en 2021, félicitations à vous monsieur.

0 votes

Merci de rester simple.

540voto

Ripon Al Wasim Points 5161

Suivez les étapes suivantes avant d'exécuter la commande UPDATE: Dans MySQL Workbench

  1. Allez à Modifier --> Préférences
  2. Cliquez sur l'onglet "Éditeur SQL" et décochez la case à cocher "Mises à jour sécurisées"
  3. Requête --> Reconnexion au serveur // déconnectez-vous et reconnectez-vous
  4. Exécutez maintenant votre requête SQL

PS: Pas besoin de redémarrer le démon MySQL!

21 votes

Pour la version 6.3, l'étape 2 devrait être "Editeur SQL" au lieu de "Requêtes SQL" et ensuite il y a une case à cocher en bas pour "Mises à jour sécurisées"

0 votes

Il n'y a pas de préférences sous le menu Edition dans mon Workbench.

0 votes

Cela a été utile. Merci.

201voto

user2531028 Points 111
SET SQL_SAFE_UPDATES=0;
UPDATE tablename SET columnname=1;
SET SQL_SAFE_UPDATES=1;

36voto

Balu Points 176
SET SQL_SAFE_UPDATES=0;

OU

Allez à Édition --> Préférences

Cliquez sur Onglet des requêtes SQL et décochez la case à cocher Mise à jour sécurisée

Requête --> Reconnexion au serveur

Exécutez maintenant votre requête SQL

13voto

ferdiado Points 41

Dans la version 6.2 de MySQL Workbench, les options SQLQueriesde préférence n'existent pas.

Dans ce cas, il est possible d'utiliser : SET SQL_SAFE_UPDATES=0 ;

1 votes

Il existe, mais l'option se trouve maintenant sous "Éditeur SQL".

0 votes

Je ne vois pas cette option. S'il vous plaît, vous pouvez prendre une capture d'écran. Merci.

0 votes

Ouvrez Préférences --> onglet Éditeur SQL --> En bas. Une version 6.2-beta manquait cette option, donc peut-être devrez-vous mettre à jour vers 6.2.3+.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X