Максималната стойност за bigint е 9,223,372,036,854,775,807 . Ако сте стигнали до 8 цифри за един ден, пак ще ви трябват 10 дни, за да достигнете максимума. Това са около 25 милиона години.
Ако приемем, че все още искате да нулирате колоната, първият въпрос, който имам, е:важно ли е подреждането на редовете? Това означава, че разчитате ли на факта, че ред 1000 идва преди 1100 за, да речем, хронологично или по друг начин абсолютно подреждане? Ако не, лесно е:изтрийте колоната и я добавете отново. Здравей, нови ценности.
Ако трябва да поддържате реда, ще трябва да го направите малко по-внимателно:
- Заключете масата;
- Променете типа, така че вече да не се увеличава автоматично;
- Създаване на нова колона. Най-добре засега го накарайте да няма индекси, тъй като актуализирането на индекса ще забави вмъкванията;
- Попълнете стойностите във втория с някакъв вид цикъл, увеличаващ брояч (като трика rownum на SQL Server), подреждайки вмъкванията да съответстват на оригиналния ред;
- Заменете старата колона с новата;
- Нулирайте автоматичното нарастване и състоянието на първичния ключ.