AUTO_INCREMENT variable
Résolu
Stef60
Messages postés
251
Date d'inscription
Statut
Membre
Dernière intervention
-
Stef60 Messages postés 251 Date d'inscription Statut Membre Dernière intervention -
Stef60 Messages postés 251 Date d'inscription Statut Membre Dernière intervention -
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.
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.
A voir également:
- AUTO_INCREMENT variable
- Vba range avec variable ✓ - Forum VB / VBA
- Variable d'environnement temp ✓ - Forum Microsoft Office
- Variable objet ou variable de bloc with non définie - Forum VB / VBA
- Le fichier contient un programme écrit en python. le programme construit un mot secret mais il ne l'affiche pas. modifiez ce programme afin que à chaque itération de la boucle : la variable a augmente de 2 la variable b diminue de 1 ajoutez une instruction pour faire afficher le mot secret construit. quel est ce mot secret ? ✓ - Forum Python
- Variable objet ou bloc "with" non définie - Forum VB / VBA
3 réponses
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.
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.
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
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
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
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