Тогава не искате да използвате колона с автоматично увеличение. Ако искате да попълните пропуските, задайте го на int колона и обработвайте логиката в съхранената процедура или вмъкване.
РЕДАКТИРАНЕ:
Тъй като това е int колона, можете да ги подредите числово. Просто направете SELECT Ids FROM Table Order By Ids
за да получите всички идентификатори и да проверите за пропуските в върнатия набор от данни.
Вероятно има по-плавен начин да направите това, но бихте могли да завъртите резултатите с курсор и да ги сравните с INT
променлива, която се увеличава в целия цикъл. Когато откриете пропуск (няма съвпадение) - прекъснете цикъла и използвайте този INT
стойност като вашия INSERT
документ за самоличност.
Няма да напиша вашия код вместо вас, но това са няколко стъпки, които да ви насочат в правилната посока. Това трябва да е наистина елементарна част от програмирането, с която трябва да можете да се справите.
Надявам се това да помогне.
РЕДАКТИРАНЕ №2:
Както други отбелязаха, най-добрият ви ход е просто да оставите празнините. Освен ако няма някакво ограничение на масата по отношение на дължината и идентификаторите ТРЯБВА да са 1-30 (странно), оставете го на мира. Няма полза от попълването на празнините.
РЕДАКТИРАНЕ №3:
Още нещо, което трябва да имате предвид:ако наистина трябва да запазите 1-30 по някаква причина, не изтривайте редовете си. Добавете колона, за да маркирате всеки ред като активен или не и след това просто актуализирайте редовете, които са неактивни, когато трябва, и след това ги маркирайте като активни. Това е МНОГО хакерски, но вашето изискване е малко хакерско, така че...