Как изменить количество полей auto_increment
в MySQL приращения от значения по умолчанию (1) до n?Изменение шага auto_increment increment на
ответ
Вы можете изменить его с помощью ALTER TABLE
:
ALTER TABLE table AUTO_INCREMENT = n;
Или, если вы хотите сделать установить его с самого начала:
CREATE TABLE table (...) AUTO_INCREMENT = n;
Я не * думаю *, что делает то, что он хочет (он отвечает на вопрос, который он задает в теле его вопроса, но не вопрос в названии). Однако вопрос определенно неоднозначен. –
Да, это не делает то, что он пытается сделать (теперь я отредактировал вопрос, чтобы надеяться сделать его более ясным). –
Если вы хотите изменить автоинкрементного шаг от 1 до N, то есть решение. Это можно сделать на стороне сервера MySQL: искать параметр запуска «--auto-increment-increment» или использовать следующую команду SET @@auto_increment_increment=2;
, но следует предупредить, что это изменение на сервере (все таблицы будут увеличиваться на 2). может что можно было бы считать
Unortodox решения:
- Запуск двух серверов MySQL на одном компьютере, с различными портами (один с
auto_increment_increment=1
другой сauto_increment_increment=2
) - использовать некоторые стороне сервера магии (PHP, ASP,? ?) в сочетании с отключением таблиц
auto_increment
, чтобы вручную вычислить (простой peek при последнем id и + = 2 будет в порядке) и предоставить идентификатор в запросеINSERT
.
привет, я проверил faq, я немного смущен [вы можете настроить каждый сервер для генерации значений автоматического увеличения, которые не конфликтуют с другими серверами. Значение -auto-increment-increment должно быть больше, чем количество серверов (с этой страницы). Может ли кто-нибудь объяснить это? – sansknwoledge
Идея такова: servers = {db1, db2, db3}; DB01: {- автоинкрементный-смещение = 0; - автоинкрементный-инкремент = 3}; DB02: {- автоинкрементный-смещение = 1; - автоинкрементный-инкремент = 3}; db03: {--auto-инкремент смещения = 2; - автоинкрементный-инкремент = 3}; поэтому db1 генерирует только ID, где (n% 3) == 0, для db2 (n% 3) == 1, для db3 (n% 3) == 2; т.е. db1: «3,6,9, ...» db2: «1,4,7, ...» db3: «2,5,8» -> нет конфликта с идентификатором – Piskvor
@Piskvor благодарит за разъяснения, но если у меня есть более одной таблицы в моем db, все с автогенерирующими столбцами, и я хочу, чтобы только одна таблица увеличивалась с шагом 2, а остальные следовали за 3, что мне делать? – sansknwoledge
alter table <table name> auto_increment=n
где п число вы хотите начать
Это не позволяет отрегулировать начальное значение. –
Это только стартовое значение –
Вы также можете использовать ALTER SEQUENCE sequence_name Инкримент N, где N является новое значение incremnent.
-1 Это не относится к MySQL. –
О, это большая ошибка –
- 1. Изменение значения числового шага
- 2. Динамическое изменение шага OpenEars (на лету)
- 3. MySQL Check Auto Increment Script - без 'SELECT AUTO_INCREMENT FROM INFORMATION_SCHEMA.TABLES'
- 4. Изменение значения шага из Javascript
- 5. AUTO_INCREMENT в оракула
- 6. Изменение значения MySQL auto_increment без влияния на существующие строки
- 7. Изменение значения auto_increment влияет на производительность в MySQL?
- 8. Изменить колонку на Auto_Increment
- 9. Мой SQL AUto Increment
- 10. Изменение шага в графе, сделанные с cxGrid
- 11. Изменение шага данных необработанных сигналов в Windows
- 12. Сброс AUTO_INCREMENT на myISAM без переустановки таблицы
- 13. Изменение одного шага прогресса изменяет все progressbars
- 14. JQuery Slider, как сделать изменение размера шага
- 15. Mysql auto increment alternatives
- 16. Detect Auto Increment Column
- 17. Auto increment number
- 18. Pre Increment & Post Increment
- 19. Как заблокировать значение auto_increment?
- 20. Выполнение автоматической Increment запросов
- 21. Increment на колонке Выбрать
- 22. Increment на «__toString»
- 23. AUTO_INCREMENT на UPDATE в MySql
- 24. Неисправность auto_increment на первичном ключе?
- 25. Doctrine Schema изменяет на id auto-increment
- 26. ALTER TABLE AUTO INCREMENT
- 27. for_form increment issue increment object
- 28. Hive auto increment
- 29. MySQL auto increment column
- 30. Ошибка SQL - null auto increment
Вы хотите изменить следующее используемое значение или шаг между значениями (например, значение шага 2, использовать 1, 3, 5, 7 и т. Д.)? –
извините, если вопрос неоднозначен, да, правильно, я хочу, чтобы auto_increment выполнялся как указано вами (например, идентификатор (1,3) в sql-сервере, который увеличивает следующее значение на 3) – sansknwoledge
@sansknwoledge - я отредактировал вопрос надеюсь, спросите, что вы имели в виду! –