Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Каскадное удаление / 6 сообщений из 6, страница 1 из 1
30.08.2004, 04:58
    #32670382
Слоник
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каскадное удаление
Использую Delphi с MySQL

Есть таблицы:
"Агенты":

agents(
agent_id INT(11) auto_increment NOT NULL,
fio VARCHAR(50),
PRIMARY KEY('agent_id)
)

и "Договора":
contracts(
contract_id INT(11) auto_increment NOT NULL,
price DOUBLE,
agent_id INT(11),
PRIMARY KEY('contract_id')
)


Как сделать так, чтобы при удалении агента, например, с agent_id="5" удалялись все записи из contracts, имеющих agent_id="5"

Спасибо большое...
...
Рейтинг: 0 / 0
30.08.2004, 11:14
    #32670725
sky2k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каскадное удаление
nujno ispolzyvat tablicy InnoDB

http://dev.mysql.com/doc/mysql/en/InnoDB_foreign_key_constraints.html
...
Рейтинг: 0 / 0
30.08.2004, 16:33
    #32671709
MySQLdb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каскадное удаление
!) delete * from contracts
where agent_id = 5 ;
2) delete * from agents
where agent_id = 5 ;
...
Рейтинг: 0 / 0
31.08.2004, 03:54
    #32672370
Слоник
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каскадное удаление
А если таблиц 20 и они все связаны подобным образом?

Тогда получится такой SQL:

DELETE FROM contracts WHERE agent_id=5
DELETE FROM agents WHERE agent_id=5
DELETE FROM stat WHERE contract_id=<>
...
...
...
...
...
...
...
и так 20 раз?

А на уровне сервера нельзя ничего сделать?
...
Рейтинг: 0 / 0
31.08.2004, 10:11
    #32672607
Рыжий Кот
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каскадное удаление
авторА если таблиц 20 и они все связаны подобным образом?

1. использовать тот вариант mysql, который поддерживает foreign key + транзакции;
2. сидеть и расписывать удаление для каждой из 20 таблиц. (особенно весело, если посреди удаления выключат свет).
3. не использовать mysql (может стоит взять что-нить посерьезнее?)


...
Рейтинг: 0 / 0
31.08.2004, 10:15
    #32672616
sky2k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Каскадное удаление
2slonic
neujeli trudno prochitat' tu ssylku, tam vse napisano using v mysql foreign keys...
i pro cascanie delete, i pro cascadnie update ......
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Каскадное удаление / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]