2016-01-11 1 views
2

J'ai une table simple ClearDB:incrémentation automatique mySQL une augmentation de 10 (ClearDB & Node)

CREATE TABLE `users` (

`id` smallint(6) unsigned NOT NULL AUTO_INCREMENT, 
`username` varchar(100) DEFAULT NULL, 
`message` varchar(100) DEFAULT NULL, 
PRIMARY KEY (`id`) 

) ENGINE=INNODB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8; 

J'utilise Node pour insérer des données dans la table via:

var post = {username: response.user.name, message: message.text}; 

      connection.query("INSERT INTO users SET ?", post, function(err, rows, fields) { 

       if (err) { 
         console.log('error: ', err); 
         throw err; 
       } 

      }); 

Cependant chaque fois que j'insérer mon champ id augmente de 10 au lieu de 1 (et il a commencé avec 12:

message nom d'utilisateur identifiant

12 Test Test

22 Test Test

32 Test Test

test test 42

Toute idée pourquoi cela se passe?

Merci!

Répondre

0

Cela semble être à cause du champ AUTO_INCREMENT
supprimer AUTO_INCREMENT=11

2

Il est la stratégie de ClearDB. Here is the explanation from ClearDB's website.

Vous ne pouvez pas modifier cette étape d'auto-incrémentation lorsque vous utilisez ClearDB.


Ceci est l'explication du lien ci-dessus. ClearDB utilise la réplication circulaire pour fournir le support maître-maître MySQL . En tant que tel, certains éléments tels que les clés auto_increment (ou séquences) doivent être configurés pour qu'un maître n'utilise pas la même clé que l'autre, dans tous les cas. Nous faisons cela en configurant MySQL pour ignorer certaines clés, et en forçant MySQL à utiliser un décalage spécifique pour chaque clé utilisée. La raison pour laquelle nous utilisons une valeur de 10 au lieu de 2 est pour le développement futur.

+0

Cela ressemble à une bonne réponse à la question (merci!), Mais pourriez-vous [modifier] et inclure les informations pertinentes du site Web dans votre réponse? De cette façon, toutes les informations sont conservées ici, au cas où le lien ou le contenu change. – whrrgarbl

+0

@whrrgarbl Merci, je l'ai fait. :) – user345