IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Reinitialiser l'auto-increment ?


Sujet :

Requêtes MySQL

  1. #1
    Membre habitué Avatar de Laskar
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mai 2002
    Messages : 228
    Points : 139
    Points
    139
    Par défaut Reinitialiser l'auto-increment ?
    Salut à tous.

    Dans ma base, je voudrais supprimer TOUS les enregistrements d'une table et réinitialiser l'index auto-increment à 0.
    Problème : ma table possède un champ référencé par une clé étrangère et le TRUNCATE TABLE me balance une erreur d'intégrité. Normal. J'utilise donc DELETE FROM matable qui vide bien cette dernière mais le ALTER TABLE matable AUTO_INCREMENT=0 ne réinitialise pas du tout l'index.

    Y a-t-il une solution ?

    Merci

  2. #2
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 590
    Points
    3 590
    Billets dans le blog
    8
    Par défaut
    Salut
    Je pense que vous voulez dire "la clé auto_increment" et non 'l'index auto_increment".
    Si la commande ALTER ne passe pas, pourquoi ne pas supprimer et recréer la table (ou seulement la colonne correspondante)?
    @+
    Le monde est trop bien programmé pour être l’œuvre du hasard…
    Mon produit pour la gestion d'école: www.logicoles.com

  3. #3
    Membre habitué Avatar de Laskar
    Homme Profil pro
    Inscrit en
    Mai 2002
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mai 2002
    Messages : 228
    Points : 139
    Points
    139
    Par défaut
    Citation Envoyé par alassanediakite
    pourquoi ne pas supprimer et recréer la table (ou seulement la colonne correspondante)?
    Parce que quand je fais un DROP TABLE matable, MySQL répond :
    Cannot delete or update a parent row: a foreign key constraint fails

    et que ALTER TABLE matable DROP PRIMARY KEY m'insulte avec
    Incorrect table definition; there can be only one auto column and it must be defined as a key

    et que ALTER matable DROP macolonne me dit
    Error on rename of '.\mabase\#sql-8d8_22' to '.\mabase\matable' (errno: 150)


  4. #4
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 7
    Points : 11
    Points
    11
    Par défaut Solution ?
    Bonjour
    Je suis confronté au même problème
    Suis en Mysql 5.5.24
    Merci d'avance si vous avez la solution
    Jean-Marie

  5. #5
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    ah...j'allais poser une question similaire....sur le reset de l'auto_increment...

    j'ai passer beaucoup de temps des heures en fait à tester différentes méthodes qui soit disant fonctionnent (googlage intense) mais rien de marche et comme par hazard je suis aussi en 5.5(.35) précisément ne serait ce pas un GROS bug mysql finalement ??? genre la méthode marchait avant, expliquant que tous les résultats google donnent des réponses dont la principale et l'alter table machin auto_increment =1 ; et ne marcherai plus, ou tout simplement plus de la même manière ??




    par flème d'attendre/trouver une solution j'ai fait à l'arrache
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    set @count=0 ;
    UPDATE statcourses SET statcourses.ref = @count:= @count + 1;
    ça a pris un peut de temps mais ça marche ceci dit j'ai pas de foreign key qui pointent dessus et les triggers ne pointent pas cette colonne

  6. #6
    Candidat au Club Avatar de kapapa
    Homme Profil pro
    étudiant en informatique
    Inscrit en
    Août 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : étudiant en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2016
    Messages : 3
    Points : 3
    Points
    3
    Par défaut reiniatialiser la clé auto_increment
    Il suffisait de mettre cette raquette sql : ALTER TABLE nom_table AUTO_INCREMENT=0

  7. #7
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 065
    Points
    19 065
    Par défaut
    Salut à tous.

    Citation Envoyé par Laskar
    Dans ma base, je voudrais supprimer TOUS les enregistrements d'une table et réinitialiser l'index auto-increment à 0.
    Il n'y a pas d'enregistrments dans une table, mais des lignes.
    L'auto incrément commence à 1 et non à zéro.

    Il suffit de faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    truncate table `votre_table`
    Citation Envoyé par Laskar
    Problème : ma table possède un champ référencé par une clé étrangère
    Ce n'est pas un champ mais une colonne.

    Il suffit de désactivr la clef étrangère, puis de la réactiver :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SET FOREIGN_KEY_CHECKS = 0;
    Citation Envoyé par Laskar
    mais le ALTER TABLE matable AUTO_INCREMENT=0 ne réinitialise pas du tout l'index.
    Il n'y a rien à faire sur l'auto incrément car en faisant un "truncate", sa valeur a été remise à 1.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 175
    Points : 138
    Points
    138
    Par défaut
    J'espère que Laskar n'attendais pas après la réponse

  9. #9
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 381
    Points : 19 065
    Points
    19 065
    Par défaut
    Oups. Je n'ai pas regardé les dates des messages.
    Pourquoi kapapa a déterré un sujet aussi vieux ?

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

Discussions similaires

  1. reinitialiser clé primaire auto-increment
    Par olivierbem dans le forum Administration
    Réponses: 6
    Dernier message: 08/11/2010, 23h30
  2. [DB2] Reinitialiser un champ auto increment
    Par Robbie dans le forum DB2
    Réponses: 3
    Dernier message: 05/07/2006, 12h00
  3. [sql server 2000] reinitialiser auto increment field
    Par graphicsxp dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 03/02/2006, 14h57
  4. Nom du champs auto-incrementé
    Par norroy dans le forum Requêtes
    Réponses: 2
    Dernier message: 17/06/2003, 18h30
  5. Pb d'auto-incrément sur une table v7
    Par Nivux dans le forum Paradox
    Réponses: 9
    Dernier message: 26/12/2002, 12h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo