автоматическое увеличение mySQL на 10 (ClearDB & Node)

У меня в ClearDB есть простая таблица:

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;

Я использую Node для вставки данных в таблицу с помощью:

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;
                 }

           });

Однако всякий раз, когда я вставляю свое поле id, оно увеличивается на 10, а не на 1 (и начиналось с 12:

ID имя пользователя сообщение

12 тестовый тест

22 тестовый тест

32 тестовый тест

42 тестовый тест

Есть идеи, почему это происходит?

Спасибо!


person Chris Olson    schedule 11.01.2016    source источник


Ответы (3)


Это стратегия ClearDB. Вот объяснение с веб-сайта ClearDB.

Вы не можете изменить этот шаг auto_increment, когда используете ClearDB.


Это объяснение по ссылке выше.

ClearDB использует круговую репликацию для обеспечения поддержки MySQL master-master. Таким образом, определенные вещи, такие как ключи auto_increment (или последовательности), должны быть настроены для того, чтобы один мастер не использовал тот же ключ, что и другой, во всех случаях. Мы делаем это, настраивая MySQL на пропуск определенных ключей и заставляя MySQL использовать определенное смещение для каждого используемого ключа. Причина, по которой мы используем значение 10 вместо 2, предназначена для будущего развития.

person Jeff    schedule 02.08.2016
comment
Это похоже на хороший ответ на вопрос (спасибо!), Но не могли бы вы редактировать и включить соответствующую информацию с веб-сайта в вашем ответе? Таким образом, вся информация сохраняется здесь на случай изменения ссылки или содержимого. - person user812786; 02.08.2016
comment
@whrrgarbl Спасибо, я сделал. :) - person Jeff; 02.08.2016

У меня такая же проблема. Покопавшись, я обнаружил, что могу изменить auto_increment

Сначала проверьте, какое это значение

SELECT @@auto_increment_increment

Тогда измени его

SET @@auto_increment_increment=1;
person abdelhamied mostafa    schedule 02.05.2019

Похоже, это из-за поля AUTO_INCREMENT
remove AUTO_INCREMENT=11

person Sachin    schedule 11.01.2016