|
Удаление записи
|
|||
---|---|---|---|
#18+
Привет. Можно ли как нибудь проверить, можно ли удалить запись из таблицы. Т.е. запись таблицы может являться вторичным ключем к др. таблице. При удалении записи выдыется ошибка типа: ERROR: update or delete on "programs" violates foreign key constraint "$2" on "major_code_info" DETAIL: Key (progid)=(1) is still referenced from table "major_code_info". Как сделать такую проверку??? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2004, 09:06 |
|
Удаление записи
|
|||
---|---|---|---|
#18+
Проверяй наличие обычным SELECT'ом. Как вариант связанные поля можно объявлять с действием по-умолчанию на случай удаления или обновления, типа REFERENCES ... ON DELETE SET NULL; ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2004, 15:22 |
|
Удаление записи
|
|||
---|---|---|---|
#18+
Установка значения в null при удалении не нужна, поскольку произойдет потеря данных. Необходимо при удалении проверить возможность удаления и если запись используется в других таблицах, надо получить список таблиц(и по возможности строк) в которых использеутся удаляемая запись. Т.е. переложить все на клиента, чтобы юзеры самостоятельно освобождали связи(как пример в 1С). ... |
|||
:
Нравится:
Не нравится:
|
|||
22.06.2004, 08:42 |
|
|
start [/forum/topic.php?fid=53&fpage=356&tid=2007803]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
60ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 164ms |
0 / 0 |