|
|
|
помогите начинающему (начал день назад)
|
|||
|---|---|---|---|
|
#18+
Заполняю таблицу, программа присваивает каждому пункту свой идентификатор. Где он хранится? Как его можно заменить? Мне нужно чтобы при добавлении новой записи программа искала бы отсутствующий номер, присваивала его этой записи. Типа 1-иванов,2-петров, 4-сидоров (3-таранов было удалено). Дабовляю новую запись (козлов), она естественно присваивает ей 5-ый номер, а мне надо чтобы третий?. Вроде объяснил. ..... Как сделать? Если можно, то попонятнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2002, 20:49:22 |
|
||
|
помогите начинающему (начал день назад)
|
|||
|---|---|---|---|
|
#18+
Что вроде такого Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. Только подумайте хорошенько, прежде чем использовать заполнение "пропусков" в нумерации. Поскольку данные запросы придется запускать с блокировкой таблицы, чтобы при множественных конкуретных запросах пока один коннект ищит "свободный" номер это номер не оказался на момент собственно добавления записи в таблицу(INSERT) уже добавленным но из другиго коннекта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2002, 21:54:42 |
|
||
|
помогите начинающему (начал день назад)
|
|||
|---|---|---|---|
|
#18+
Уважаемый KleFF. Данное значение хранится в автоинкременентном поле. Его признак - наличие птицы в колонке identity (режим design table в Enterprise Manager). Пока не трогайте его! Вы научитесь его изменять примерно чрез три недели, когда у Вас уже будет некоторый опыт. Пускай себе оно само добавляется! Это гарантирует уникальность первичного ключа. Ведь возможно, что Вы удалите запись с ID=5, заведете новую, с тем же ID, а где-то в недрах базы сохранятся записи для ID=5, и получите Вы полную муру. Однако возможны и другие случаи. Предположим, Вы пишите базу для учета Основных Средств. Там принято давать единицам учета шестизначные инвентарные номера, и народу удобнее давать новым поступлениям номера выбывших единиц. В этом случае рогом упираться нельзя. Хочет пользователь повторное использование - он должен его получить. Толко вот автоинкременент не трогайте. Завдите два поля - одно автоинкременентное, для внутреннего использования, а другое, красивое, юзеру показывайте. А запрос для поиска наименьшего "свободного" значения выглядит примерно так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2002, 21:56:01 |
|
||
|
|

start [/forum/topic.php?fid=46&tid=1820845]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
51ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
21ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 300ms |

| 0 / 0 |
