Comment modifier le montant auto_incrènement code> dans l'incrément de MySQL par défaut (1) à n? p>
4 Réponses :
Vous pouvez le changer en utilisant ou si vous souhaitez le définir à partir du démarrage: p> alter Table < / code>
:
Je ne
Oui, cela ne fait pas ce qu'il essaie de faire (j'ai maintenant édité la question de la rendre plus claire).
Si vous souhaitez modifier l'étape d'autocrampe de 1 à N, il y a une solution.
Cela pourrait être fait sur le côté serveur MySQL:
Recherchez une option de démarrage '-Auto-Ingrement-Incrément' ou d'utiliser la commande suivante Les solutions non entraînées pourraient être envisagées: p>
SET @@O_INCREMENT_INCREMENT = 2; CODE>, mais soyez averti qu'il s'agit d'un changement de serveur (toutes les tables d'incrémenteront par 2) . p>
auto_incrènement_incrètent = 1 code> Autre avec
auto_incrènement_incrènement = 2 CODE>) LI>
auto_incrènement CODE> pour calculer manuellement (Simple Peek au dernier identifiant et + = 2 serait OK) et fournirait une pièce d'identité
Insérer CODE> Query. LI>
ol>
Bonjour, j'ai vérifié la FAQ que je suis un peu confus [vous pouvez définir chaque serveur pour générer des valeurs d'incrémentation automatique qui ne sont pas en conflit avec d'autres serveurs. La valeur de --auto-incrément-incrément devrait être supérieure au nombre de serveurs (à partir de cette page)] un organisme pourrait-il expliquer cela?
L'idée est la suivante: serveurs = {db1, db2, db3}; db01: {- auto-incrément-décalset = 0; - incrément automatique-incrément = 3}; dB02: {- incrétation automatique du décalage = 1; - auto-extrémité-incrément = 3}; db03: {- Auto-Inc Rement-décalset = 2; - AU TO-INTRAMENT-INCREMENT-INCREME NT = 3}; Donc, DB1 génère uniquement des identifiants où (n% 3) == 0, pour DB2 (n% 3) == 1, pour DB3 (n% 3) == 2; I.e. DB1: "3,6,9, ..." DB2: "1,4,7, ..." DB3: "2,5,8" -> Pas de conflit d'identification
@Piskvor Merci pour la clarification, mais si je dispose de plus d'une table dans mon dB tout avec des colonnes autogénéraires et je ne veux qu'une seule table d'incrémenter des étapes de Say 2 et de reposer suivez 3 Que dois-je faire?
Y a-t-il un moyen de faire cette incrémente par étape pour seulement une seule table.
alter table <table name> auto_increment=n where n is the number you want to start
Cela ne réglait pas l'étape, il ajuste la valeur de début.
Ceci n'est que la valeur de début
Vous pouvez également utiliser Alter séquence séquence_name incrément de n où n est la nouvelle valeur incompynifique. P>
Voulez-vous modifier la valeur suivante utilisée ou l'étape utilisée entre les valeurs (par exemple la valeur de l'étape de 2, utilisez 1, 3, 5, 7 etc.)?
désolé si la question est ambiguë oui correct, je veux que l'auto_incrèce soit effectuée comme indiqué par vous (comme l'identité (1,3) dans SQL Server qui augmente la valeur suivante de 3)
@sansknwoledge - J'ai édité la question de la faire, espérons-le que cela vous demandait ce que vous vouliez dire!