|
|
|
Удаление записи
|
|||
|---|---|---|---|
|
#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:27 |
|
||
|
Удаление записи
|
|||
|---|---|---|---|
|
#18+
Проверяй наличие обычным SELECT'ом. Как вариант связанные поля можно объявлять с действием по-умолчанию на случай удаления или обновления, типа REFERENCES ... ON DELETE SET NULL; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2004, 15:22:18 |
|
||
|
Удаление записи
|
|||
|---|---|---|---|
|
#18+
Установка значения в null при удалении не нужна, поскольку произойдет потеря данных. Необходимо при удалении проверить возможность удаления и если запись используется в других таблицах, надо получить список таблиц(и по возможности строк) в которых использеутся удаляемая запись. Т.е. переложить все на клиента, чтобы юзеры самостоятельно освобождали связи(как пример в 1С). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2004, 08:42:05 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=32571028&tid=2007803]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
216ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 549ms |

| 0 / 0 |
