AUTO_INCREMENT variable

Résolu
Stef60 Messages postés 257 Statut Membre -  
Stef60 Messages postés 257 Statut Membre -
Bonjour,

Pourquoi ne peut-on pas faire :
ALTER TABLE ma_table AUTO_INCREMENT = @ma_variable ;

Comment faire pour faire commencer une table auto_indexer à une certaine valeur ?

D'avance merci.

3 réponses

  1. Alex
     
    Bonjour,

    Déjà AUTO_INCREMENT n'est pas un champ, mais un paramètre pour un champ, tu ne peux donc lui affecter aucune valeur, c'est une opération.
    Tu peux choixir dans ta base SQL a partir de quelle valeur tu commence l'incrémentation.
    0
  2. Stef60 Messages postés 257 Statut Membre 41
     
    J'arrive à affecter une valeur avec ca :
    ALTER TABLE ma_table AUTO_INCREMENT = 100 ;
    Dans ce cas, l'incrementation commencera à 100.

    Donc à la main, cela fonctionne, mais pas avec une variable.
    Pourtant ma variable @ma_variable est bien un nombre.

    SET @ma_variable = SELECT COUNT(id) FROM ma_table;
    SELECT @ma_variable -> me retoune un nombre

    En fait, j'ai besoin de ne pas à avoir modifier l'auto_increment à la main car c'est trop long et pas scriptable.
    De plus, je recupere le COUNT d'une autre base
    0
  3. Stef60 Messages postés 257 Statut Membre 41
     
    J'ai trouvé une solution si ca interesse.

    Je passe par une variable

    En gros ca donne ca:
    SET @index = (SELECT MAX(id) FROM table); // ce chiffre +1 sera mon auto_increment
    INSERT INTO table2 (id) SELECT @index;
    DELETE FROM table2 WHERE id < (@index + 1); // resultat : une table vide qui commence à l'index @index + 1
    0