J’ai un dataset et je veux démarrer et auto champ incrément à 5 pas 1. Est-ce possible ?
Réponses
Trop de publicités?Vous pouvez utiliser `` pour changer la valeur initiale de l’auto_increment :
Voir la référence MySQL pour plus de détails.
Oui, vous pouvez utiliser l' ALTER TABLE t AUTO_INCREMENT = 42
déclaration. Cependant, vous devez être conscient que ce sera la cause de la reconstruction de l'ensemble de votre table, au moins avec InnoDB. Si vous avez déjà existants dataset avec des millions de lignes, il pourrait prendre un temps très long à remplir.
Dans mon expérience, il est préférable d'effectuer les opérations suivantes:
BEGIN WORK;
-- You may also need to add other mandatory columns and values
INSERT INTO t (id) VALUES (42);
ROLLBACK;
De cette façon, même si vous êtes à la restauration de la transaction, MySQL va garder l'auto-incrémentation de la valeur, et le changement sera appliqué instantanément.
Vous pouvez le vérifier par l'émission d'un SHOW CREATE TABLE t
déclaration. Vous devriez voir:
> SHOW CREATE TABLE t \G
*************************** 1. row ***************************
Table: t
Create Table: CREATE TABLE `t` (
...
) ENGINE=InnoDB AUTO_INCREMENT=43 ...