web-dev-qa-db-fra.com

Supprimer tous les enregistrements d'une table de MYSQL dans phpMyAdmin

J'utilise Wampserver 2.2. Lorsque je veux supprimer tous les enregistrements d'une table dans phpMyAdmin (tout sélectionner), il ne supprime qu'un seul enregistrement, pas tous les enregistrements. Pourquoi ne supprime-t-il pas tous les enregistrements?

105
Amirhosein Heydari

Allez dans votre structure -> et faites le vide dans la table requise. Vois ici:

this screenshot

117
Yalamber

Vous avez 2 options delete et truncate:

  1. delete from mytable

    Cela supprimera tout le contenu de la table, sans réinitialiser l'identifiant auto-incrémental, ce processus est très lent. Si vous souhaitez supprimer des enregistrements spécifiques, ajoutez une clause where à la fin.

  2. truncate myTable

    Cela réinitialisera la table, c'est-à-dire que tous les champs incrémentiels automatiques seront réinitialisés. C'est un DDL et c'est très rapide. Vous ne pouvez supprimer aucun enregistrement spécifique via truncate.

148
Sashi Kant

Allez sur l'onglet SQL lancez l'une des requêtes ci-dessous:

delete from tableName;

Supprimer : supprimera toutes les lignes de votre table. La prochaine insertion prendra le prochain identifiant d'incrémentation automatique.

ou

truncate tableName;

Truncate : supprimera également les lignes de votre table mais démarrera à partir d'une nouvelle ligne avec 1.

Un blog détaillé avec l'exemple: http://sforsuresh.in/phpmyadmin-deleting-rows-mysql-table/

124
Suresh Kamrushi

Utilisez cette requête:

DELETE FROM tableName;

Remarque: pour supprimer un enregistrement spécifique, vous pouvez également indiquer la condition de la clause where dans la requête.

OU vous pouvez également utiliser cette requête:

truncate tableName;

Rappelez-vous également que vous ne devriez avoir aucune relation avec une autre table. S'il y a une contrainte de clé étrangère dans la table, alors cet enregistrement ne sera pas supprimé et donnera l'erreur.

27
Code Lღver

Vous pouvez supprimer toutes les lignes avec cette commande. Mais rappelez-vous qu’une fois que vous utilisez la commande troncature, vous ne pouvez pas l’annuler.

  truncate tableName;
15
Ravi Kumar Ravanam

'Truncate tableName' échouera sur une table avec une contrainte de clé définie. De plus, il ne réindexera pas la valeur de la table AUTO_INCREMENT. Au lieu de cela, supprimez toutes les entrées de la table et réinitialisez l'indexation sur 1 en utilisant la syntaxe SQL suivante:

DELETE FROM tableName;
ALTER TABLE tableName AUTO_INCREMENT = 1
10
DevWL

Un fait intéressant.

J'étais persuadé que TRUNCATE fonctionnera toujours mieux, mais dans mon cas, pour une base contenant environ 30 tables avec des clés étrangères, contenant seulement quelques lignes, il fallait environ 12 secondes pour analyser toutes les tables, au lieu de quelques centaines de millisecondes. SUPPRIMER les lignes. Le réglage de l’incrément automatique ajoute environ une seconde au total, mais c’est beaucoup mieux.

Donc, je vous suggère d'essayer les deux, voir ce qui fonctionne plus rapidement pour votre cas.

4
Sorin

écrire la requête: tronquer 'Votre_nom_table';

1
Shadman Sakib