Форум: "Базы";
Текущий архив: 2002.02.28;
Скачать: [xml.tar.bz2];
ВнизНеожиданный key violation в автоинк поле Найти похожие ветки
← →
VladP (2002-01-31 11:20) [0]Здравствуйте!
Помогите, если кто сталкивался.
Есть таблица Paradox:
Id autoinc
Name Char(35)
...
Все работает замечательно до некоторого времени (1-2 месяца), когда на любое добавление (даже в не в Delphi, a в Database Desktop) выдается Key Violation!
Я вроде бы нашел решение, но оно не есть гуд. Если кому интересно, то помогает изменение типа поля с Autoinc на integer и затем опять на AutoInc.
← →
Fay (2002-01-31 15:57) [1]Лечится только твоим способом.
← →
VladP (2002-02-01 21:29) [2]Может кто еще знает?
← →
Фэ (2002-02-01 21:37) [3]Autoinc вообще плохой тон.
Кроме очень простых случаев.
А если крупную базу пересобрать надо ?
← →
Havez (2002-02-02 18:24) [4]Посмотри в кладовке, там есть пара компонентов с нужными функциями.
← →
VladP (2002-02-03 10:07) [5]>Фэ
Почему плохой? По моему очень удобно. Попробуй делать выборку на a=max(id), потом добавлять новую запись с полученным значением+1, потом еще раз делать выборку на чтобы подсчитать кол-во полученных значений (a+1), а вдруг другой пользователь тоже самое сделал в это же время? Это было одним из плюсов из-за чего я перешел на Paradox.
← →
VladP (2002-02-03 10:25) [6]>Haves
Спасибо за компонент, судя по описанию-именно то.
← →
Фэ (2002-02-03 13:57) [7]Плохой потому, что при использовании автоинкремента в качестве искусственного ключа, наличии более одной таблицы и связей между ними и при необходимости пересборки базы, если не принять специальных мер - можно все связи потерять в мгновение ока.
Только об этом речь.
← →
VladP (2002-02-03 16:02) [8]>2Фэ
Извини, но что есть пересборка базы?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.02.28;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.004 c