64 votes

supprimer tous les enregistrements d'une table dans mysql

J'essaie de supprimer tous les enregistrements d'une table. Ma requête est la suivante :

delete from tableName.

Mais il signale l'erreur suivante :

Code d'erreur : 1175. Vous utilisez le mode de mise à jour sécurisé et vous avez essayé de de mettre à jour une table sans WHERE qui utilise une colonne KEY. pour désactiver le mode sécurisé, activez l'option dans Préférences -> Éditeur SQL -> Éditeur de requêtes et reconnectez-vous. et reconnectez-vous".

Comment puis-je résoudre ce problème ?

5 votes

J'ai peut-être raté quelque chose, mais le message d'erreur vous indique déjà ce qu'il faut faire : Activez l'option dans Préférences -> Éditeur SQL -> Éditeur de requêtes et reconnectez-vous.

0 votes

J'utilise mySQL Workbench et cette erreur se produit.

0 votes

Ok...MySQL Workbench indique comment résoudre ce problème : Activez l'option dans Préférences -> Éditeur SQL -> Éditeur de requêtes et reconnectez-vous. . Avez-vous essayé ? Si vous l'avez fait et que cela ne fonctionne toujours pas, marquez pour rouvrir.

91voto

Thirler Points 6222

truncate tableName

C'est ce que vous recherchez.

Tronquer supprimera tous les enregistrements de la table, la vidant ainsi.

1 votes

Cette commande fait tomber la table. Elle ne supprime pas tous les enregistrements de la table.

1 votes

@mousecoder Ce n'est pas correct, cela laissera un tableau vide, alors que drop supprime le tableau. J'ai ajouté le lien vers le manuel.

0 votes

D'accord pardonnez mes connaissances incorrectes.

66voto

Muse Points 4558

C'est parce que vous avez essayé de mettre à jour une table sans WHERE qui utilise une colonne KEY.

La solution rapide consiste à ajouter SET SQL_SAFE_UPDATES=0 ; avant votre requête :

SET SQL_SAFE_UPDATES=0; 

Ou

Fermez le mode de mise à jour sécurisé. Edition -> Préférences -> Editeur SQL -> Editeur SQL supprimer Interdire les instructions UPDATE et DELETE sans clause WHERE (mises à jour sécurisées) .

BTW vous pouvez utiliser TRUNCATE TABLE tablename; pour supprimer tous les enregistrements .

0 votes

Pour mémoire, la dernière version (et peut-être les précédentes) échoue également lorsque vous utilisez TRUNCATE TABLE. De plus, l'erreur est toujours la même, mais l'option est dans Edit->Preferencie -> SQL Queries (et non dans SQL Editor).

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