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

Administration MySQL Discussion :

Remettre à 0 l'auto incrément


Sujet :

Administration MySQL

  1. #1
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Points : 336
    Points
    336
    Par défaut Remettre à 0 l'auto incrément
    Bonjour.

    J'ai rempli une table puis je l'ai vidée avec un delete (pb de FK pour faire un Truncate)
    Et je souhaite la remplir à nouveau avec l'auto incrément qui reparte à 1.
    J'ai fait ce qui est indiqué dans ce message :
    https://www.developpez.net/forums/d4...uto-increment/

    Mais mon auto incrément ne repart pas à 0.
    Que faire ?

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par 69Pierre Voir le message
    J'ai rempli une table puis je l'ai vidée avec un delete (pb de FK pour faire un Truncate)
    Cela veut-il dire que vous avez laissé des clés étrangères référençant cette table ?
    Si oui, je vois venir de gros problèmes !
    => Il faut d'abord supprimer les lignes des autres tables référençant celle-ci puis vider votre table.
    Ou alors il faudra remettre à jour les lignes des autres tables après re-remplissage de votre table vidée.

    Et je souhaite la remplir à nouveau avec l'auto incrément qui reparte à 1.
    J'ai fait ce qui est indiqué dans ce message :
    https://www.developpez.net/forums/d4...uto-increment/

    Mais mon auto incrément ne repart pas à 0.
    Si vous voulez le redémarrer à 1 ne lui dites pas de redémarrer à zéro !

    Il y a plusieurs solutions données dans l'autre discussion. Laquelle avez-vous utilisée ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Points : 336
    Points
    336
    Par défaut
    Bonjour.
    Citation Envoyé par CinePhil Voir le message
    Cela veut-il dire que vous avez laissé des clés étrangères référençant cette table ?
    Si oui, je vois venir de gros problèmes !
    => Il faut d'abord supprimer les lignes des autres tables référençant celle-ci puis vider votre table.
    Ou alors il faudra remettre à jour les lignes des autres tables après re-remplissage de votre table vidée.
    Non, les tables ayant des valeurs référençant sur cette table sont vides pour l'instant.

    Citation Envoyé par CinePhil Voir le message
    Si vous voulez le redémarrer à 1 ne lui dites pas de redémarrer à zéro !

    Il y a plusieurs solutions données dans l'autre discussion. Laquelle avez-vous utilisée ?
    Oui, je m'excuse je voulais dire 1.

    J'ai essayé cette méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE nomDeLaTable AUTO_INCREMENT=0
    et celle là. :
    Ou depuis phpmyadmin : database / table / opérations / option

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Essaie les opérations de maintenance de la table, dans phpMyAdmin, et notamment FLUSH.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Points : 336
    Points
    336
    Par défaut
    Merci de ton aide.

    Lorsque je fais "recharger la table (FLUSH)", j'ai le même résultat que lorsque je mets l'auto-incrément à 1 et que j'exécute.
    Après l'opération, l’auto-incrément se remets à 1295 dans les options pour cette table et de fait, l'importation du fichier qui suit repart à 1295.

  6. #6
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Après l'opération, l’auto-incrément se remets à 1295 dans les options pour cette table
    Dans les options ?
    Comment voyez-vous ça ?

    et de fait, l'importation du fichier qui suit repart à 1295.
    Comment importez-vous ? Et qu'importez-vous ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  7. #7
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Points : 336
    Points
    336
    Par défaut
    Bonjour.
    Citation Envoyé par CinePhil Voir le message
    Dans les options ?
    Comment voyez-vous ça ?
    Dans les options de phpMyAdmin.

    Citation Envoyé par CinePhil Voir le message
    Comment importez-vous ? Et qu'importez-vous ?
    J'importe un fichier csv avec phpMyAdmin aussi.

  8. #8
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Dans les options de phpMyAdmin.
    Au temps pour moi... je n'avais regardé ça sur une table avec auto-incrément.

    J'importe un fichier csv avec phpMyAdmin aussi.
    Si c'est après avoir importé un fichier de 1294 lignes que vous constatez que l'auto_increment est à 1295, c'est normal !

    Donc, reprenons...
    J'ai créé une table test avec une colonne id en clé primaire et auto-incrémentée.
    => Dans phpMyAdmin, je vois que l'auto-increment est à 1.

    J'ajoute 4 lignes et mon auto_incrément passe à 5.

    Je vide la table par l'opération Truncate de phpMyAdmin et l'auto-incrément est repassé automatiquement à 1.

    J'ajoute de nouveau 2 lignes qui ont bien les identifiants 1 et 2 et mon auto_increment est passé à 3.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DELETE FROM test_auto_increment
    2 lignes supprimées et l'auto_increment est resté à 3, ce qui est normal.

    Avec phpMyAdmin, je diminue l'auto_increment à 1 et j'exécute. L'auto_increment est bien repassé à 1.

    J'insère 2 lignes qui ont bien les id 1 et 2.

    Je ne vois pas ce qui peut mal fonctionner chez vous.

    En résumé, chez MySQL, une opération TRUNCATE remet l'auto_increment à 1 mais pas l'opération DELETE, ce qui est normal.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  9. #9
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Points : 336
    Points
    336
    Par défaut
    Merci.
    J'ai tous les éléments, je crois et pourtant...
    Je vais supprimer la BDD et la recréer.

  10. #10
    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 066
    Points
    19 066
    Par défaut
    Salut à tous.

    Vous désirez supprimer le contenu de votre table et obtenir un auto incrément qui débute à 1.
    C'est très simple, il suffit de faire un "truncate table nom_de_votre_table".

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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. comment remettre à 1 un champ auto-incrémental
    Par jakol dans le forum Bases de données
    Réponses: 5
    Dernier message: 16/08/2010, 06h00
  2. [debutant]Comment remettre l'auto-incrémentation à 0
    Par syl2095 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 25/01/2005, 15h51
  3. Dernière clé auto incrémenté ?
    Par WOLO Laurent dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 15/11/2003, 10h41
  4. [CODE] auto incrémentation ?
    Par Roi dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 25/09/2003, 15h09
  5. ca ne fonctionne pas (generateur auto-incrémentant)
    Par tripper.dim dans le forum SQL
    Réponses: 7
    Dernier message: 26/11/2002, 00h10

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