Mam dwie tabele w MySQL od bazy danych parent, child. Próbuję dodać odniesienia do klucza obcego do mojej tabeli podrzędnej na podstawie tabeli nadrzędnej. Czy jest jakaś znacząca różnica między ON UPDATE CASCADEiON DELETE CASCADE
Stolik mojego rodzica
CREATE TABLE parent (
id INT NOT NULL,
PRIMARY KEY (id)
) ENGINE=INNODB;
Moje pytanie brzmi: jaka jest różnica między następującymi zapytaniami sql.
ON DELETE CASCADECREATE 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 CASCADECREATE 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 CASCADECREATE 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;
Czy w zapytaniach są jakieś błędy? Co oznaczają te zapytania (1,2 i 3)? Czy są takie same ???