InnoDB: как запретить удаление?

M3Y

Guest
InnoDB: как запретить удаление?

Вопрос для специалистов в innodb.

Есть две таблицы с отношением один ко многим. Например, папки и файлы. Как сделать так, чтобы нельзя было удалить "папку", если есть хоть один вложенный в нее "файл"?
 

predator2

Guest
Re: InnoDB: как запретить удаление?

Originally posted by M3Y
Вопрос для специалистов в innodb.

Есть две таблицы с отношением один ко многим. Например, папки и файлы. Как сделать так, чтобы нельзя было удалить "папку", если есть хоть один вложенный в нее "файл"?
Смотри вот тут
http://dev.mysql.com/doc/mysql/en/InnoDB_foreign_key_constraints.html

Пример
CREATE TABLE parent(id INT NOT NULL,
PRIMARY KEY (id)
) TYPE=INNODB;
CREATE TABLE child(id INT, parent_id INT,
INDEX par_ind (parent_id),
FOREIGN KEY (parent_id) REFERENCES parent(id)
ON DELETE RESTRICT
) TYPE=INNODB;
 
Сверху