Страница 2 из 2

Re: Глюк В ADO - Adotable перемешивает записи в таблице

Добавлено: 07 мар 2007, 15:44
Игорь Акопян
тогда у тебя неизбежна ситуация с присвоением одинакового ключа таким образом...
Если два клиент одновременно, каждый в своей транзакции выполнят Select Max()+1 они получат одинаковый результат. Далее кто первый запостит - того и тапочки. Второй отвалится с ошибкой о нарушении уникальности ключа (если конечно такая есть, а если нет - нафик такой ключ?). Автоинкремент такую проблему устраняет... Дыры в значениях ни на что не влияют.

Re: Глюк В ADO - Adotable перемешивает записи в таблице

Добавлено: 07 мар 2007, 16:06
Absurd
Игорь Акопян писал(а):Если два клиент одновременно, каждый в своей транзакции выполнят Select Max()+1 они получат одинаковый результат. Далее кто первый запостит - того и тапочки.
Ты упустил еще то, что он считает аггрегатное значение перед каждым инсертом. В лучшем случае - это index scan и блокировка индекса

Re: Глюк В ADO - Adotable перемешивает записи в таблице

Добавлено: 09 мар 2007, 18:46
Dr_Grizzly
счетчик незьзя обнулить кроме как удалением и созданием таблицы заново а этого делать нельзя.

Гы, я тут столкнулся с такой надобностью, из-за того что пользователь постоянно удаляет и добавляет записи, то последовательность теряется. А если мы создадим второе поле рядом - форматом "счетчик" то он автоматом перерасчитает все записи начиная с 1. Тогда второе поле можно просто удалить :) Ну это я так, мимо проходил...

Re: Глюк В ADO - Adotable перемешивает записи в таблице

Добавлено: 11 мар 2007, 18:27
Игорь Акопян
Absurd, это уже для меня слишком глубоко ;)
При похожей проблеме на Акцессе блокировки индекса не происходило... А вот одинаковые номера получались :( Правда может народу не так много было...
Народ, а в чём проблема, что ID записи не непрерывен??? нафига эта проктология? Вы что по ID чёто вычисляете, он нужен только для идентификации записи в таблице - уникальный номер, никаких повторений с начала сотворения базы...