Bonjour,
J'ai table "historique" que je veux vider avant d'y mettre des nouvelles données.
Après recherche j'ai vu alter_table et drop_table mais j'ai l'impression que ça supprime la table!!
Moi je veux seulement la vider.
Merci de votre aide
 [SQL] Vider une table
 [SQL] Vider une table
				
				
						
							
							
						
						
				Bonjour,
J'ai table "historique" que je veux vider avant d'y mettre des nouvelles données.
Après recherche j'ai vu alter_table et drop_table mais j'ai l'impression que ça supprime la table!!
Moi je veux seulement la vider.
Merci de votre aide
 
			
			






 
			
			
			
			 
			
				
 
 
				
				
						
						
				essaye "TRUNCATE"
 
 
				
				
						
						
				Merci.
J'ai mis : TRUNCATE table beahistorique; mais j'ai une erreur
 
 
				
				
						
						
				tu veux en fait supprimer tous les enregistrements de ta table pour en insérer de nouveaux ?J'ai table "historique" que je veux vider avant d'y mettre des nouvelles données
Si c'est bien ça alors TRUNCATE me semble trop fort et un simple DELETE (sans filtre) devrait suffire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part DELETE FROM HISTORIQUE;
 
 
				
				
						
						
				le message d'erreur:
Cela correspond à :
Code : Sélectionner tout - Visualiser dans une fenêtre à part Parse error: parse error, unexpected T_STRING in c:\weblocal\sites\test\portefeuille\maj_historique.php on line 9Pourquoi TRUNCATE est trop fort?
Code : Sélectionner tout - Visualiser dans une fenêtre à part TRUNCATE table beahistorique;
 
 
				
				
						
						
				
Ca ira mieux
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
 
 
				
				
						
						
				D'après ce qu'on m'a expliqué : TRUNCATE détruit les données d'une table sans condition possible et surtout sans possibilité de faire un rollback. Hormis ces différences, TRUNCATE ne semble pas présenter de différence par rapport à DELETE (?).
C'est pour ça que dans ce contexte, DELETE est suffisant s'il s'agit simplement de supprimer toutes les lignes d'une table.
Mais peut être pourriez-vous m'en dire plus sur la raison qui vous fait choisir DELETE plutôt que TRUNCATE (moi qui venait pour aider je vais apprendre des choses génial) ?
 pourquoi DELETE plutôt que TRUNCATE
 pourquoi DELETE plutôt que TRUNCATE
				
				
						
						
				Bonjour, Je ne suis pas un expert en sql, mais je dirai que le DELETE est utiliser pour supprimer un enregistrement (ou plusieurs ou tous) dans une table, selon la requête, et n'aura aucune incidence sur les autres ni sur la table, je pense aux index. Alors qu'un TRUNCATE va effacer tous les enregistrements, mais réinitialiser également les index, en fait comme si elle venait d'être créée.
Fait le test avec un DELETE sur tout dans ta base, puis si je ne me trompe pas, lorsque tu feras un nouvel enregistrement (si tu as des id autoincrémentés), ils ne débuteront pas à 1 mais à l'ancien MAXID + 1.
Si j'ai dit une bétise merci de me le dire.
 
 
				
				
						
						
				Merci beaucoup, ça fonctionne niquel.
Les index sont bien réinitialisés avec le truncate.
Merci
Partager