Aku punya dua tabel di MySQL database- parent
, child
. Saya mencoba menambahkan referensi kunci asing ke tabel anak saya berdasarkan tabel induk. Apakah ada perbedaan yang signifikan antara ON UPDATE CASCADE
danON DELETE CASCADE
My Parent Table
CREATE TABLE parent (
id INT NOT NULL,
PRIMARY KEY (id)
) ENGINE=INNODB;
Pertanyaan saya adalah: Apa perbedaan antara kueri sql berikut.
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;
Apakah ada kesalahan dalam kueri? Apa maksud dari pertanyaan ini (1,2 & 3) ?? Apakah mereka sama ???