Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с триггером в MySQL... [D5, MySQL]


Рустем ©   (2006-08-24 23:47:00) 

Здравствуйте!

Столкнулся с проблемой и никак не могу ее решить.

Имеются две таблицы со следующими структурами и данными (ориентировочными):

table1

ID | Name
-------------
1  | Test1
2  | Test2
-------------

table2

ID | ParentID
-------------
1  | 1
2  | 1
3  | 2
4  | 1
-------------

На удаление записи из table1 (перед удалением записи) прописал триггер следующего содержания:

BEGIN
 DELETE FROM table2 WHERE table2.ParentID = ID;
END


Так вот, после удаления записи из table1 (DELETE FROM table1 WHERE ID=1) в table2 удаляется только одна запись, удовлетворяющая условию триггера, хотя, по логике, должны удалиться три записи, т.е. записи, значение поля ParentID которого равно 1.

Что я не так делаю и в чем может быть проблема?


Рустем   (2006-08-25 23:58:00) [1]

Хорошо, тогда как же мне правильно описать триггер?
Мне необходимо при удалении записи из главной таблицы удалить все  соответствующие записи из дочерней таблицы (см. [1]).
Конечно же, все это можно осуществить в самом приложении, но хотелось бы, что бы и сервер немного "поработал"...


Nikolay M.   (2006-08-25 10:22:00) [2]


> table2.ParentID = ID;


Из второй таблицы удалится только одна запись с ParentID = ID. В твоем примере: ID=ParentID=1.


Наверх

Титульная страница Поиск, карта сайта Написать письмо