Problème : Auto_Increment

Bonjour

J'ai un tableau qui a comme clé primaire sous auto incrémentation qui a un petit problème :

#
1
2
3
4
5

Lors de la suppression d'une ou plusieurs ligne :

#
2
3
5

alors que j'aimerais voir ceci :

#
1
2
3

Cependant le "ALTER TABLE reservation AUTO_INCREMENT=0" ne fonctionne que lorsque ma table est complètement dans l'ordre ou à 0 :

#
1
2
3
54

Suppression après la requete :

#
1
2
3

Nouvel ajout :

#
1
2
3
4

A savoir que j'utilise ceci dans du php.

Merci de votre aide...

3 réponses

  1. Salut salut,

    Essais ça en bdd :
    ALTER TABLE "maTable" ALTER COLUMN "maClePrimaire" RESTART WITH 4

    0
    1. erreur de syntaxe à partir du : "restart with 4" même en mettant à 1, ça ne fonctionne pas...
      0
    2. je suis sous phpmyadmin a croire qu'il ne comprend pas RESTART...
      0
  2. Et ça
    ALTER TABLE latable AUTO_INCREMENT=4
    ?

    Résolu? ===> [RESOLU]
    0
    1. la requete fonctionne, mais n'effectue rien... (a savoir que j'ai 3 lignes avec comme id :1, 2, 100)

      mais pourquoi 4, imaginons si jesupprime le #1, j'aimerais que #2 en l'état devienne le #1... ainsi de suite pour les autres...
      0
    2. Modérateur
      Dans une base de données, un auto incrément, qui représente souvent une clé primaire, doit rester constamment le même. Il est inutile de vouloir déroger à ce fonctionnement au risque de provoquer des défauts d'intégrité de la base.
      Quand on voudra changer cet incrément, il faudra également le faire sur tous les autres champs de toutes les tables qui pourraient l'avoir en référence : travail lourd et source d'erreur.

      Si tu veux évacuer ce problème, ne prends pas un auto incrément. Gère tes clés primaires à la mimine...
      0
  3. Modérateur
    Salut,

    c'est quel sgbd ?
    0
    1. je suis sous xampp avec phpmyadmin...
      0