Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
DELETE CASCADE & DELETE RESTRICT
|
|||
|---|---|---|---|
|
#18+
Появилась такая задача, но пока не придумал как можно максимально все автоматизировать и чтоб сохранилась целостность базы данных. Приведу тут упрощенный пример. Есть 3 таблицы: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. на самом деле таблиц гораздо больше, думаю будет примерно 100 и где-то 90% из них прямо или косвенно замыкаются на department_id через другие таблицы. Хотелось бы чтобы при удалении записи из таблицы "departments" записи у которых "DELETE RESTRICT" не мешали бы удалению "DELETE CASCADE", т.е. в итоге я хочу чтоб у меня остались только те записи которые "DELETE RESTRICT" и все необходимы для них записи из таблиц "DELETE CASCADE" Надеюсь понятно выразился. Какие есть варианты, главное требование - унивирсальность, чтоб при изменение структуры базы мне не пришлось бы лазить по всему коду и вносить изменения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 12:16 |
|
||
|
DELETE CASCADE & DELETE RESTRICT
|
|||
|---|---|---|---|
|
#18+
это невозможно, подумайте, Вы же удаляете отдел, он исчезает и на что будут ссылаться ссылки ? помимо ON DELETE CASCADE и ON DELETE RESTRICT есть ещё ON DELETE SET NULL и ON DELETE SET DEFAULT, может быть это то что Вам нужно ? -- „Истина — это вовсе не то, что можно убедительно доказать, это то, что делает всё проще и понятнее“ — Антуан де Сент-Экзюпери ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 14:31 |
|
||
|
DELETE CASCADE & DELETE RESTRICT
|
|||
|---|---|---|---|
|
#18+
Понимаю, значит отдел тоже не удаляется, но все что можно удалиться. SET NULL и SET DEFAULT не подойдут так как стоит задача именно удалить все не нужные записи Может быть какие-то механизмы чтоб построить полное дерево зависимостей и написать хранимку которая по нему пройдется и удалит все что можно? Кто-нибудь знает как получить это дерево? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 20:01 |
|
||
|
|

start [/forum/topic.php?fid=53&fpage=254&tid=2003721]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
2ms |
| others: | 222ms |
| total: | 333ms |

| 0 / 0 |
