Здравствуйте, Аноним, Вы писали:
А>У меня есть столбец id типа bingint. На нем стоит авто инкремент. А>Проблема в следующем... я удаляю часть записей и добавляю новые, но числа инкрементируються как (MAX + 1) как сделать так чтобы например так.
А>Исходная таблица: А>1 А>2 А>3 А>4 А>5 А>11 А>15 А>18
А>Как происходит после инсерта А>1 А>2 А>3 А>4 А>5 А>11 А>15 А>18 А>19 А>20 А>21 А>22
А>Надо чтобы было так А>1 А>2 А>3 А>4 А>5 А>6 А>7 А>8 А>9 А>10 А>11 А>12 А>15 А>18
А>Тоесть несуществующий цифры занимались... бд MySQL 5.0
Добрый вечер. Не знаю насколько Вам это необходимо, но исходя из моего опыта использования автоинкрементного поля в таблицах MS SQL Server, такая задача никогда не возникала. Т.е. автоинкрементное поле требуется для автоматической генерации следующего значения, которое просто будет уникальным.
Кроме того, оно формируется не как MAX+1, а как
<какая-то внутренняя системная величина>+<некий заданный системный шаг>.
Эти системные величины скорее всего относятся к системным величинам открытого сеанса (нечто про это я читал в HELP).
Подытоживая, я бы дополнительно использовал какой-нить другой идентификатор (поле в таблице), отвечающий необходимым требованиям. Есть небольшой пример использования автоинкр. поля совместно с другим полем, содержащим ключевые-порядковые значения (что-то вроде составного ключа)