Jeu de type AUTO_INCREMENT valeur de départ dans une table InnoDB à zéro?
Est-il pour obtenir un champ de type AUTO_INCREMENT d'un InnoDB pour commencer à compter à partir de 0 non 1
CREATE TABLE `df_mainevent` (
`idDf_MainEvent` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`idDf_MainEvent`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
- Pourquoi voudriez-vous?
Vous devez vous connecter pour publier un commentaire.
Documentation de MySQL:
Cela signifie donc que 0 est un "spécial" de la valeur qui est similaire à la valeur NULL. Même lorsque vous utilisez AUTO_INCREMENT = 0 est la volonté de définir la valeur initiale de 1.
AUTO_INCREMENT
champs. Voir stackoverflow.com/questions/1578518/... pour la réponse correcte à cette question.fonctionne avec MySQL >= 5.0.3.
EDIT:
Viens de remarquer que MySQL en général n'aime pas l'auto-incrémentation des valeurs égales à
0
- c'est indépendant du moteur de stockage. MySQL utilise juste1
que la première valeur d'incrémentation automatique. Donc pour répondre à la question: PAS ce n'est pas possible, mais elle ne dépend pas sur le moteur de stockage.Cela fonctionne dans les deux InnoDB et MyISAM, et l'insertion du deuxième est un
1
pas un2
:Daren Schwenke la technique fonctionne. De mauvais que le prochain enregistrement inséré sera 2.
Par exemple:
Ce n'est pas une grosse affaire à sa juste ennuyeux.
Tim
table_name
AUTO_INCREMENT=1; après la première insertion.Je n'ai pas été en mesure d'avoir autoincrement commencent à 0, mais en commençant à 1 et ensuite réglage à 0 via une mise à JOUR fonctionne très bien.
J'ai souvent utiliser cette astuce pour détecter les supprime dans une table.
Sur la mise à jour de toute la ligne, j'ai mis en ligne la dernière mise à jour de temps.
Sur le supprime, j'ai mis la dernière mise à jour de la ligne 0.