Ho due tabelle in MySQL database- parent, child. Sto cercando di aggiungere riferimenti a chiave esterna alla mia tabella figlio in base alla tabella padre. C'è qualche differenza significativa tra ON UPDATE CASCADEeON DELETE CASCADE
Tabella dei miei genitori
CREATE TABLE parent (
id INT NOT NULL,
PRIMARY KEY (id)
) ENGINE=INNODB;
La mia domanda è: qual è la differenza tra le seguenti query 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;
Ci sono errori nelle query? Cosa significano queste query (1,2 e 3) ?? Sono uguali ???