|
|
|
Сбрасывается значение AUTO_INCREMENT
|
|||
|---|---|---|---|
|
#18+
an0nymДумаю - надо ли в старт СУБД закладывать обновление AUTO_INCREMENT для этой таблицы...? А что, разве есть такая возможность у сервера при запуске выполнять какие-то манипуляции с таблицами базы? Хотелось бы знать, как это можно сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2016, 17:23 |
|
||
|
Сбрасывается значение AUTO_INCREMENT
|
|||
|---|---|---|---|
|
#18+
Posohovan0nymДумаю - надо ли в старт СУБД закладывать обновление AUTO_INCREMENT для этой таблицы...? А что, разве есть такая возможность у сервера при запуске выполнять какие-то манипуляции с таблицами базы? Хотелось бы знать, как это можно сделать? init-file http://dev.mysql.com/doc/refman/5.7/en/server-options.html#option_mysqld_init-file ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2016, 17:27 |
|
||
|
Сбрасывается значение AUTO_INCREMENT
|
|||
|---|---|---|---|
|
#18+
PosohovОсобенно в MySQL 8.0 мне понравилось вот это: If you modify an AUTO_INCREMENT column value to a value larger than the current maximum auto-increment value (in an UPDATE operation, for example), the new value is persisted, and subsequent INSERT operations allocate auto-increment values starting from the new, larger value. В MySQL 5.6 я с этой проблемой тоже столкнулся, когда вручную увеличил значение столбца с AI, а сервер продолжал считать по своему и мне приходилось дополнительно обновлять еще и AI с помощью ALTER TABLE table AUTO_INCREMENT = N, теперь как я понял, этого делать не придется. Собственно AUTO_INCREMENT таким и должен быть ВСЕГДА, просто по определению. PS Теперь с нетерпением буду ждать выхода 8-ки, хотя не факт, что они и там, начиная с какой нибудь версии 8.1 опять не поломают истинное предназначение AI. истинное предназначение ауто_инкремента, получить поле для примари кея - в мкскл нельзя полю назначить такое свойство не сделав его первичным ключом! при рестарте сервера, пока есчё не начались подключения к нему, логично для оптимизации, сбросить примари кей на максимальное значение. а вы хотите примари кей, который будет сохранять уникальность, при смешивании данных и разных источников - для этого существует GUID, в мускле UUID() - используйте его тогда как первичный ключ, и сливайте себе спокойно. на авто-первичный ключ, пофигу как он формируется, нужно смотреть как на идентификатор, о котором вы знаете 1)вставил - получил идентификатор 2)по идентификатору нашол что вставил 3)по идентификатору обновил, обновилось то что вставил 4)по идентификатору удалил - удалилось то что вставил 5)ВСЁ. а вы пытаетесь придумать дополнительное свойтво, уникальное значение. он не должен давать уникального значения!!! он должен не допустить дублированное значение в таблице при вставку - это согаласитесь не одно и тоже. И автоинкремент справляется со своей задачей. поэтому даже если вставка не прошла, автоинкремент увеличивается. он всегда увеличивается когда кто-то запросит следующее значение, ведь пока тот кто запросил будет вставлятся, паралельно 100 других может строк вставлятся... и вот все получат разные идентификаторы, пусть даже первые 90 вставок отменятся изза ошибки. так сказать просто и сердито, получила команда разработчиков мускла генератор идентификаторов, который гарантирует не получение двумя строки одинакового значения в одной таблице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.10.2016, 13:56 |
|
||
|
Сбрасывается значение AUTO_INCREMENT
|
|||
|---|---|---|---|
|
#18+
Откровенно говоря, я малость погорячился в рассуждениях об "истинном" предназначении автоинкремента, потому как его просто нет. Как разработчики сочтут нужным, таким автоинкремент и будет. В версии 5.6 он работает так, как работает, в 8.0 будет во многом по другому, и там и там, есть своя логика и своя разумность, а нам остается только принять за данность, что нам предложено и этим пользоваться, от слова "польза". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2016, 13:08 |
|
||
|
|

start [/forum/topic.php?fid=47&startmsg=39328432&tid=1831256]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
184ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 498ms |

| 0 / 0 |
