Как автоматически увеличить значение столбца, начиная со значения, отличного от одного в MySQL? - PullRequest
3 голосов
/ 10 июня 2011

У меня есть существующая таблица mysql, в которой столбец id определен как основной, а для автоинкремента установлено значение true. Теперь я хотел бы знать, могу ли я установить автоинкремент, чтобы он начинал с предопределенного значения, скажем, 5678, вместо того, чтобы начинать с 1.

Я также хотел бы знать, могу ли я установить шаги для автоматического увеличения, скажем, увеличения на 15 для каждой вставки новой записи (вместо значения по умолчанию, равного 1).

Примечание. Я использую phpmyadmin для игры с БД, и у меня много столов, но только один БД.

Спасибо.

Ответы [ 5 ]

5 голосов
/ 10 июня 2011

ALTER TABLE tbl AUTO_INCREMENT = 5678 установит автоматическое увеличение на 5678 для этой таблицы.Посмотрите подробную информацию здесь .

3 голосов
/ 10 июня 2011

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

ALTER TABLE tbl_name AUTO_INCREMENT = 5678;

И можете обновить переменную счетчика auto_increment, используя следующую команду

SET @@auto_increment_increment=15;

Loo на здесь для получения дополнительной информации

mysql> SET @@auto_increment_increment=15;
Query OK, 0 rows affected (0.00 sec)

mysql> INSERT INTO autoinc1 VALUES (NULL), (NULL), (NULL), (NULL);
Query OK, 4 rows affected (0.00 sec)
Records: 4  Duplicates: 0  Warnings: 0

mysql> SELECT col FROM autoinc1;
+-----+
| col |
+-----+
|   1 |
|  16 |
|  31 |
|  46 |
1 голос
/ 10 июня 2011

Вы также можете использовать переменные системы сервера :

auto_increment_increment

и

auto_increment_offset

Это позволит вам увеличивать смещение на значения, отличные от 1 (например, 15) каждый раз. Если вы начинаете с другого значения, используя то же смещение на другом сервере. Это позволит вам хранить таблицы на разных серверах, которые могут быть объединены без наложения ключей.

, например

(inc = 15 offset = 1)          (inc=15 offset = 2)
table1 on server A             table1 on server B
-----------------------------------------------------
id     name                    id    name
1      bill                    2     john
16     monica                  17    claire 
....

Это может быть очень полезно.

Поскольку основное использование заключается в том, чтобы одна и та же таблица на различных серверах велась по-разному, это настройка сервера, а не настройка таблицы.

1 голос
/ 10 июня 2011

ALTER TABLE whatever AUTO_INCREMENT=5678 - в качестве альтернативы в phpMyAdmin перейдите на вкладку «Операции» представления таблицы и установите ее там.Для шага приращения используйте настройку auto_increment_increment .

0 голосов
/ 22 октября 2013

Вы можете увидеть пример здесь .. http://pranaydac08.blogspot.in/2013/10/how-set-auto-increment-value-start-from.html

...