У мене є дві таблиці в MySQL database- parent
, child
. Я намагаюся додати іноземні ключові посилання до таблиці моєї дитини на основі батьківської таблиці. Чи є істотна різниця між ON UPDATE CASCADE
таON DELETE CASCADE
Мій батьківський стіл
CREATE TABLE parent (
id INT NOT NULL,
PRIMARY KEY (id)
) ENGINE=INNODB;
Моє запитання: Яка різниця між наступними запитами sql.
ON DELETE CASCADE
CREATE TABLE child ( id INT, parent_id INT, INDEX par_ind (parent_id), FOREIGN KEY (parent_id) REFERENCES parent(id) ON DELETE CASCADE ) ENGINE=INNODB;
ON UPDATE CASCADE
CREATE TABLE child ( id INT, parent_id INT, INDEX par_ind (parent_id), FOREIGN KEY (parent_id) REFERENCES parent(id) ON UPDATE CASCADE ) ENGINE=INNODB;
ON UPDATE CASCADE ON DELETE CASCADE
CREATE TABLE child ( id INT, parent_id INT, INDEX par_ind (parent_id), FOREIGN KEY (parent_id) REFERENCES parent(id) ON UPDATE CASCADE ON DELETE CASCADE ) ENGINE=INNODB;
Чи є якісь помилки у запитах? Що означають ці запити (1,2 та 3) ?? Вони однакові ???