powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Каскадное удаление
6 сообщений из 6, страница 1 из 1
Каскадное удаление
    #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
Каскадное удаление
    #32670725
sky2k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nujno ispolzyvat tablicy InnoDB

http://dev.mysql.com/doc/mysql/en/InnoDB_foreign_key_constraints.html
...
Рейтинг: 0 / 0
Каскадное удаление
    #32671709
MySQLdb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
!) delete * from contracts
where agent_id = 5 ;
2) delete * from agents
where agent_id = 5 ;
...
Рейтинг: 0 / 0
Каскадное удаление
    #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
Каскадное удаление
    #32672607
Фотография Рыжий Кот
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторА если таблиц 20 и они все связаны подобным образом?

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


...
Рейтинг: 0 / 0
Каскадное удаление
    #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
6 сообщений из 6, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Каскадное удаление
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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