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 et non tous les enregistrements. Pourquoi ne supprime-t-il pas tous les enregistrements?
phpmyadmin
Amirhosein Heydari
la source
la source
DELETE FROM tableName
SHIFT-DEL
Réponses:
Allez dans votre structure db -> et videz le tableau requis. Vois ici:
la source
Vous avez 2 options
delete
ettruncate
:delete from mytable
Cela supprimera tout le contenu de la table, sans réinitialiser l'identifiant auto-incrémentiel, ce processus est très lent. Si vous souhaitez supprimer des enregistrements spécifiques, ajoutez une clause where à la fin.
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
.la source
Accédez à l'onglet Sql, exécutez l'une des requêtes ci-dessous:
Supprimer : supprimera toutes les lignes de votre tableau. La prochaine insertion prendra le prochain identifiant d'incrémentation automatique.
ou
Tronquer : supprimera également les lignes de votre tableau mais il commencera à partir de la nouvelle ligne avec 1.
Un blog détaillé avec un exemple: http://sforsuresh.in/phpmyadmin-deleting-rows-mysql-table/
la source
Utilisez cette requête:
Remarque: pour supprimer un enregistrement spécifique, vous pouvez également indiquer la condition dans la clause where dans la requête.
OU vous pouvez également utiliser cette requête:
Souvenez-vous également que vous ne devez avoir aucune relation avec une autre table. S'il y a une contrainte de clé étrangère dans la table, ces enregistrements ne seront pas supprimés et donneront l'erreur.
la source
Vous pouvez supprimer toutes les lignes avec cette commande, mais rappelez-vous une chose qu'une fois que vous exécutez la commande tronquer, vous ne pouvez pas la restaurer.
la source
«Tronquer tableName» échouera sur une table avec une contrainte de clé définie. Il ne réindexera pas non plus la
AUTO_INCREMENT
valeur de la table . Au lieu de cela, supprimez toutes les entrées de table et réinitialisez l'indexation à 1 à l'aide de cette syntaxe SQL:la source
Un fait intéressant.
J'étais sûr que TRUNCATE fonctionnera toujours mieux, mais dans mon cas, pour une base de données avec environ 30 tables avec des clés étrangères, peuplée de seulement quelques lignes, il a fallu environ 12 secondes pour TRUNCATE toutes les tables, par opposition à seulement quelques centaines de millisecondes pour SUPPRIMER les lignes. Le réglage de l'incrémentation automatique ajoute environ une seconde au total, mais c'est toujours beaucoup mieux.
Je suggère donc d'essayer les deux, de voir ce qui fonctionne le plus rapidement pour votre cas.
la source
écrivez la requête: tronquez 'Votre_nom_table';
la source