Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS SQL Server > вопрос по mssmse


Автор: 4ybaka 27.12.2007, 19:43
создал свою таблицу и задал там identity для главного ключа.так теперь если операция добавления строки неудалась,то следующий элемент добавляется с главным ключом не i,а i+1.конечно не очень критично,но глаз режет...это можно как-то убратЬ?или хотя бы сбросить все номера?а то после добавления к пустой таблице строки,ее номер неск десятков...

Автор: Deniel_li 27.12.2007, 19:58
из book_online

Use DBCC CHECKIDENT to check the current identity value and compare it with the maximum value in the identity column. 

но, это только синхронизирует с max значентем поля... обнулять значение identity я так понял нельзя...

как вариант, можно использовать set identity_insert имя_таблицы on/off для вставки промежуточных значений...


Автор: Servena 28.12.2007, 11:13
Ничего не убирай.
Ведь важно, что каждое следующее число больше предыдущего, а не то что оно больше не на 1.

Автор: 4ybaka 18.1.2008, 00:55
Цитата(Servena @  28.12.2007,  11:13 Найти цитируемый пост)
каждое следующее число больше предыдущего

если бы было так...у меня вот например идут записи с такими ID:
0
13
53
18
54
55
56

Автор: Deniel_li 18.1.2008, 17:51
В id совершенно не важно в каком порядке идут записи, какой используется интервал или сколько пропущенных значений имеется....
главное, чтобы по id можно было однозначно определить запись, т.е. id должно быть уникальным.... а все остальное - не имеет принципиального значения....

если нужно упорядочить записи в запросе - воспользуйтесь order by

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)