Минимальная длина для поля идентификатора автоматического увеличения в MySQL

#mysql #database #database-design #primary-key #auto-increment

#mysql #База данных #база данных-дизайн #первичный ключ #автоматическое увеличение

Вопрос:

Как я могу установить минимальную длину для моего идентификатора первичного ключа, который автоматически увеличивается. Теперь автоматическое увеличение начинается с 1 и продолжается оттуда. Однако я хотел бы, чтобы идентификатор был длиной не менее 5 символов. Таким образом, оно должно начинаться с 10001, 10002, 10003 и т. Д

Ответ №1:

Если у вас есть таблица, но нет столбца, запустите следующий код с соответствующими изменениями:

 ALTER TABLE MyTableName 
   ADD MyTableNameId INT NOT NULL AUTO_INCREMENT,
   ADD INDEX (MyTableNameId);
  

Если вы уже создали столбец, вы можете сделать это:

 ALTER TABLE MyTableName AUTO_INCREMENT = 10001;
  

Ответ №2:

Начиная с MySQL 5.0.3, InnoDB поддерживает параметр AUTO_INCREMENT = N table в операторах CREATE TABLE и ALTER TABLE.

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

Ответ №3:

Во время объявления:

 CREATE TABLE test
(
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    whatever VARCHAR(10),
    ...
) AUTO_INCREMENT = 100000;
  

Или после объявления / во время выполнения:

 ALTER TABLE test AUTO_INCREMENT=200000;