Форум: "Базы";
Текущий архив: 2005.03.27;
Скачать: [xml.tar.bz2];
ВнизА как сделать так что бы инкремент повышался и в других таблицах? Найти похожие ветки
← →
Arazel © (2005-03-01 20:35) [0]Вообщем есть две связаные таблицы ВОТ НАДО что при наборе в одной
таблицы повышался во всех таблицах Increment поле?
← →
Anatoly Podgoretsky © (2005-03-01 20:38) [1]Настроить ссылочную целостност. За этим обратиться к администратору базы.
← →
Desdechado © (2005-03-01 20:45) [2]2 Arazel
а по-русски? а то налопотал невесть что...
← →
Arazel © (2005-03-02 01:11) [3]а по-русски? а то налопотал невесть что...
Ну например:
Table1
ID NUMBERIC 9 (Increment)
Name VarChar 20 (...)
Table2
ID NUMBERIC 9 (Increment)
Family VarChar 20 (...)
Когда я буду добовлять в Table1
должно повышатся ID обоих таблиц
но уменя повышается только та в которую я добовляю?
← →
P.N.P. © (2005-03-02 01:19) [4]Интересная проблема, даже не могу себе представить причину,
по которой мог возникнуть подобный вопрос.
Видимо придется структуру бд пересмотреть...
← →
Ильш (2005-03-02 06:16) [5]продолжаем...
Table3
ID NUMBERIC 9 (Increment)
Otchestvo VarChar 20 (...)
Table4
ID NUMBERIC 9 (Increment)
Ulica VarChar 20 (...)
Table5
ID NUMBERIC 9 (Increment)
Dom VarChar 20 (...)
Table6
ID NUMBERIC 9 (Increment)
Kvartira VarChar 20 (...)
← →
Shirson © (2005-03-02 08:01) [6]В MSSQL нет типа данных NUMBERIC
Если ты добавляешь в одну таблицу, и у тебя идёт инкрементация ID, я так понимаю, это автоинкрементное поле?
А что должно меняться во второй таблице? (Если туда ничего не добавляют?)
Либо на первой ставь триггер на Ins и пиши данные во вторую таблицу, чтобы и у неё шел инкримент, либо опиши, что тебе действительно нужно, на примере. Может речь вообще про GUID идёт.
← →
Desdechado © (2005-03-02 11:03) [7]Попробую догадаться.
Автору надо связать эти таблицы между собой.
Для этого существуют внешние ключи (FOREIGN KEY) и кросс-таблицы (перекрестных ссылок).
А еще автору надо почитать теорию по проектированию БД прежде, чем садиться делать что-то из головы.
← →
atruhin © (2005-03-02 11:53) [8]Возможно другое, т.е. автору нужно получить уникальный ключ для БД а не для таблицы, сейчас это используют при проектировании ОО БД. для этого создается табличка с одим автоинкрементным полем, вставляешь запись туда, получаешь ID записи, и вставляешь запись в нужную таблицу где ID - первичный ключ
← →
Sergey13 © (2005-03-02 11:58) [9]2[8] atruhin © (02.03.05 11:53)
>Возможно другое
А возможно - это вообще развод. Столько "хороших" вопросов за вчерашний день, что наводит на размышления. 8-)
← →
Ильш (2005-03-02 13:43) [10]
> для этого создается табличка с одим автоинкрементным полем,
> вставляешь запись туда, получаешь ID записи, и вставляешь
> запись в нужную таблицу где ID - первичный ключ
ИЗВРАЩЕНИЕ !!!
← →
Ega23 © (2005-03-02 13:56) [11]вставить запись во втрорую таблицу, и тут-же удалить её.
← →
Danilka © (2005-03-02 14:17) [12][10] Ильш (02.03.05 13:43)
Почему извращение? Аналог ИБ-шного генератора или Ороклового сиквенса, в самом простом случае. А так, когда один айдишник используется для разных таблиц и объектов, можно в эту-же таблицу писать, например, класс объекта, или его состояние и т.д. и использовать соответственно условиям задачи. Задачи они разные бывают. :)
← →
Ильш (2005-03-03 06:06) [13]в ИБ генератор хранит одно лишь значение
ну так в этом варианте хранить ID можно вообще в текстовом файле (или ini файле) и прибавлять к нему единичку при каждой вставке
← →
atruhin © (2005-03-03 11:14) [14]>>Ильш (03.03.05 06:06) [13]
Прежде чем писать, думать нужно, или знать про атомарные операции, многопоточность, и т.д.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.03.27;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.04 c