Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
21.06.2004, 09:06
|
|||
---|---|---|---|
Удаление записи |
|||
#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, 15:22
|
|||
---|---|---|---|
Удаление записи |
|||
#18+
Проверяй наличие обычным SELECT'ом. Как вариант связанные поля можно объявлять с действием по-умолчанию на случай удаления или обновления, типа REFERENCES ... ON DELETE SET NULL; ... |
|||
:
Нравится:
Не нравится:
|
|||
|
22.06.2004, 08:42
|
|||
---|---|---|---|
Удаление записи |
|||
#18+
Установка значения в null при удалении не нужна, поскольку произойдет потеря данных. Необходимо при удалении проверить возможность удаления и если запись используется в других таблицах, надо получить список таблиц(и по возможности строк) в которых использеутся удаляемая запись. Т.е. переложить все на клиента, чтобы юзеры самостоятельно освобождали связи(как пример в 1С). ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=53&mobile=1&tid=2007803]: |
0ms |
get settings: |
11ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
73ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 349ms |
total: | 514ms |
0 / 0 |