|
Переполнение auto_increment
|
|||
---|---|---|---|
#18+
Здравствуйте господа форумчане. Хочу попросить совета у знающих людей. Есть некий сайт PHP NGINX MySQL классика в общем. В базе данных есть некоторая таблица с очень динамичными данными, то есть туда постоянно что то пишется и удаляется, такая система была написано очень давно, и менять ее уже слишком трудозатратно. Время от времени MySql начинает отдавать ошибку: "Numeric value out of range: 167 Out of range value for column 'id' at row 1". Очевидно значение индекса вышло за пределы возможного диапазона значений(там авто инкремент стоит). Раньше это происходило не очень часто (раз в год где то), и проблема устранялась ручками. но недавно объем обмена данных не хило так возрос и встал вопрос о том чтобы автоматизировать этот процесс. В принципе нету большой проблемы решить это средствами php, но мне интересно, есть ли возможность решить эту проблему средствами MySql. Ну то есть по достижению максимального значения id автоматически сбрасывать auto_increment на 0? Заранее благодарю. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2019, 08:35 |
|
Переполнение auto_increment
|
|||
---|---|---|---|
#18+
skrip42есть ли возможность решить эту проблему средствами MySql. Ну то есть по достижению максимального значения id автоматически сбрасывать auto_increment на 0?Нет. Возможные решения: 1) Переход на более "вместительный" тип данных (INT -> INT UNSIGNED -> BIGINT UNSIGNED) 2) Компрессия (если на этот PK нет FK - иначе слишком затратно) 3) Отказ от PK AI (а он вообще нафига в таблице "с очень динамичными данными", если оттуда регшулярно что-то удаляется?) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2019, 08:59 |
|
Переполнение auto_increment
|
|||
---|---|---|---|
#18+
Благодарю. К сожалению не один из вышеперечисленных вариантов не подойдет:\ Будем решать через php значит ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2019, 09:39 |
|
|
start [/forum/topic.php?fid=47&fpage=32&tid=1829019]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 127ms |
0 / 0 |