AUTO_INCREMENT не работает в MariaDB - PullRequest
0 голосов
/ 11 мая 2018

Я пытаюсь создать таблицу с параметром AUTO_INCREMENT первичного ключа в MariaDB. Вот пример создания таблицы БД:

CREATE TABLE mytable (
  id INT NOT NULL AUTO_INCREMENT,
  name VARCHAR(50),
  PRIMARY KEY (id)
) AUTO_INCREMENT=1;

Когда я пытаюсь вставить rows:

INSERT INTO mytable (name) VALUES ('name1'), ('name2'), ('name3');

rows не сохраняются в порядке следования (начиная с 1.)

Я много гуглил по этому вопросу и не мог найти никакого решения по этому вопросу.

Есть мысли по этому поводу?

Редактировать: я исправил запрос вставки. Просто следовал документации mariadb также. Даже вставка строк идет не по порядку. версия базы данных maria - 10.1.22

CREATE TABLE animals (
  id MEDIUMINT NOT NULL AUTO_INCREMENT,
  name CHAR(30) NOT NULL,
  PRIMARY KEY (id)
);

INSERT INTO animals (name)
VALUES ('dog'), ('cat'), ('penguin'),
       ('fox'), ('whale'), ('ostrich');

SELECT * FROM animals;
+----+---------+
| id | name    |
+----+---------+
|  6 | dog     |
|  9 | cat     |
| 12 | penguin |
| 15 | fox     |
| 18 | whale   |
| 21 | ostrich |
+----+---------+

Ответы [ 2 ]

0 голосов
/ 23 мая 2018

У вас есть кластер Galera с 3 узлами? Это объяснило бы auto_increment_increment = 3.

Но ... Вы не должны зависеть ни от какого свойства AUTO_INCREMENT, кроме того, что значения будут различаться.

0 голосов
/ 11 мая 2018

Таблица создана правильно

но ваше утверждение INSERT написано неправильно

должно быть как

INSERT INTO mytable (name) VALUES ('name1'), ('name2'), ('name3');

для множественной вставки данных в вашу таблицу

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...