![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с триггером в 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.