Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
счетчик уникального id
|
|||
|---|---|---|---|
|
#18+
Добрый день! Есть например, уникальный id (autoincrement) каждой записи и код каждой записи(primary key). Допустим мне необходимо добавить новую запись и код увеличить автоматически на 1. Что в таком случае надо делать? Можно ли kod(primary key) тоже сделать (autoincrement) или лучше выявить последний id из счетчика и соответственно изменить код? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2004, 13:27 |
|
||
|
счетчик уникального id
|
|||
|---|---|---|---|
|
#18+
Надо делать автоинкремент! Ни в коем случае нельзя делать MAX()+1 - в сетевой задаче неизбежно получишь одинаковые значения id. Правда, есть варианты в способе реализации автоинкремента. 1) Использовать поля Integer-AutoIncrement - просто, но есть проблемы при создании новых записей во View из 2-х таблиц источников. Если такое не используешь, то делай через поля 2) Специальная служебная таблица, хранящая значение последнего использованного (первого не использованного) кода. Дополнительная функция как Default ключевого поля. Относительно сложное решение, но универсальное, поскольку не завящона напрямую с фактом создания новой записи (смотри примеры формы NewId.scx в проекте Solution.pjx) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2004, 15:13 |
|
||
|
счетчик уникального id
|
|||
|---|---|---|---|
|
#18+
ДОБРЫЙ ДЕНЬ. КОНЕЧНО ВСЕ ЗАВИСИТ ОТ КОНКРЕТНОЙ СИТУАЦИИ! ЕСЛИ ВАША БАЗА - ВНЕШНЯЯ ПО ОТНОШЕНИЮ К VFP ТО НЕОБХОДИМО ИСПОЛЬЗОВАТЬ АВТО-МЕХАНИЗМ ПРИСВОЕНИЯ УНИКАЛЬНЫХ ID ЭТОЙ БАЗЫ (В INTERBASE НАПРИМЕР ДЛЯ ЭТОГО ЕСТЬ ГЕНЕРАТОРЫ ) А В РОДНОЙ БАЗЕ (НАПРИМЕР В VFP6 НЕТ ТИПА ПОЛЯ INTEGER АUTOINCR) ЕСЛИ ТОЛЬКО ОДНА ВАША МНОГОПОЛЬЭОВАТЕЛЬСКАЯ ЗАДАЧА ОБНОВЛЯЕТ ДАННЫЕ МОЖНО ПРИМЕНИТЬ СХЕМУ: SELECT <ALIAS> SET ORDER TO (ПО ВАШЕМУ КЛЮЧУ) VVV=FLOCK() IF VVV=.T. GO BOTTOM VKLUCH=KLUCH+1 *** ДАЛЕЕ ВСТАВКА ЗАПИСИ INSERT INTO ELSE *СООБЩЕНИЕ ENDIF UNLOCK IN <ALIAS> ЕСТЕСТВЕННО ВНУТРИ ЭТОЙ КОНСТРУКЦИИ НЕЖЕЛАТЕЛЕН ДИАЛОГ - ВСЕ НЕОБХОДИМО ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.08.2004, 16:43 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=41&tid=1595913]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
22ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 331ms |

| 0 / 0 |
