powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Некорректное заполнение столбца идентификаторов при инсёрте данных
15 сообщений из 15, страница 1 из 1
Некорректное заполнение столбца идентификаторов при инсёрте данных
    #39750799
Доброго времени суток. Подскажите пожалуйста кто знает в чем может быть причина.
Использую SQL Manager 2008 fro SQL Server.
Создаю новую таблицу со столбцом идентефикаторов, указываю начальное значение - 1, инкремент - 1.
Далее записываю в нее данные запросом вида:

Код: sql
1.
2.
insert into peny.peny (id_customer, period_calc)
  values (@id_customer, @period_calc)



При этом столбец идентификаторов заполняется почему то не с еденицы, а со значения равного = Максимальное значение идентификатора в таблице + кол-во вставляемых строк +1.

Приложил скрин таблицы. В данном случаее сначало вставлено 2 записи, потом еще 5 и затем еще 2.
...
Рейтинг: 0 / 0
Некорректное заполнение столбца идентификаторов при инсёрте данных
    #39750804
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Будылин,

by design. Все есть в справке
...
Рейтинг: 0 / 0
Некорректное заполнение столбца идентификаторов при инсёрте данных
    #39750822
TaPaK, можно немного подробнее?
...
Рейтинг: 0 / 0
Некорректное заполнение столбца идентификаторов при инсёрте данных
    #39750831
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей БудылинTaPaK, можно немного подробнее?
Можно: приведённый пример корректен
...
Рейтинг: 0 / 0
Некорректное заполнение столбца идентификаторов при инсёрте данных
    #39750833
TaPaK,

Действительно немного. Спасибо.
...
Рейтинг: 0 / 0
Некорректное заполнение столбца идентификаторов при инсёрте данных
    #39750837
А как же все таки сделать чтобы столбец заполнялся начиная с 1 с шагом 1 без этих выкрутасов.. )
...
Рейтинг: 0 / 0
Некорректное заполнение столбца идентификаторов при инсёрте данных
    #39750841
boltnik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
set identity insert on
...
Рейтинг: 0 / 0
Некорректное заполнение столбца идентификаторов при инсёрте данных
    #39750842
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей БудылинА как же все таки сделать чтобы столбец заполнялся начиная с 1 с шагом 1 без этих выкрутасов.. )И чтобы еще перенумеровывался, если первую запись удалили, да? Чтобы не нарушать ваше чувство прекрасного?
...
Рейтинг: 0 / 0
Некорректное заполнение столбца идентификаторов при инсёрте данных
    #39750843
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей БудылинА как же все таки сделать чтобы столбец заполнялся начиная с 1 с шагом 1 без этих выкрутасов.. )
1. сильно уговорить разработчика, что это прям очень необходимо.
2. Определиться что же будет при удалении/откате/парралельных вставках/и т.п.
3. Прийти к выводу что вам всего лишь надо пронумеровать вывод
...
Рейтинг: 0 / 0
Некорректное заполнение столбца идентификаторов при инсёрте данных
    #39750845
Гавриленко Сергей Алексеевич, ну что при удалении записей id уже не может использоваться я знаю) а вот в этом случае, когда добавляются новые записи, хочется понять просто почему так происходит
...
Рейтинг: 0 / 0
Некорректное заполнение столбца идентификаторов при инсёрте данных
    #39750846
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей БудылинГавриленко Сергей Алексеевич, ну что при удалении записей id уже не может использоваться я знаю) а вот в этом случае, когда добавляются новые записи, хочется понять просто почему так происходит
вам тоже запретили msdn открывать?
...
Рейтинг: 0 / 0
Некорректное заполнение столбца идентификаторов при инсёрте данных
    #39750853
TaPaK, да нет, не смог найти ответа просто
...
Рейтинг: 0 / 0
Некорректное заполнение столбца идентификаторов при инсёрте данных
    #39750858
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей БудылинTaPaK, да нет, не смог найти ответа просто
авторПоследовательные значения в пределах транзакции ― при вставке транзакцией нескольких строк не гарантируется, что для них будут назначены последовательные значения. Это связано с тем, что в таблице могут выполняться другие параллельные операции вставки. Если значения должны быть последовательными, то транзакция должна использовать монопольную блокировку для таблицы или уровень изоляции SERIALIZABLE.

Последовательные значения после перезапуска сервера или других ошибок - SQL Server может сохранять значения идентификаторов в кэше для обеспечения высокой производительности, и некоторые из присвоенных значений могут быть потеряны при сбое базы данных или перезагрузке сервера. Это может вызвать пропуски в значениях идентификатора при вставке. Если пропуски недопустимы, приложение должно использовать собственный механизм для создания значений ключей. Использование генератора последовательностей с параметром NOCACHE может привести к ограничению пропусков в незафиксированных транзакциях.

Повторное использование значений — свойства идентификаторов, созданные конкретным свойством идентификатора с заданными аргументами seed и increment, не используются повторно подсистемой. Если определенная инструкция вставки завершается с ошибкой или производится ее откат, использованные значения идентификаторов не будут созданы повторно. Это может привести к появлению пропусков при создании последующих значений идентификаторов.
...
Рейтинг: 0 / 0
Некорректное заполнение столбца идентификаторов при инсёрте данных
    #39750860
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей БудылинTaPaK, да нет, не смог найти ответа просто http://bfy.tw/LROh
...
Рейтинг: 0 / 0
Некорректное заполнение столбца идентификаторов при инсёрте данных
    #39750870
Ясно, понятно. Спасибо.)
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Некорректное заполнение столбца идентификаторов при инсёрте данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]