Ben MySQL veritabanı-iki tablo var parent
, child
. Üst tabloyu temel alarak alt tabloma yabancı anahtar başvuruları eklemeye çalışıyorum. ON UPDATE CASCADE
Ve arasında önemli bir fark var mıON DELETE CASCADE
Veli Masam
CREATE TABLE parent (
id INT NOT NULL,
PRIMARY KEY (id)
) ENGINE=INNODB;
Sorum şu: Aşağıdaki sql sorguları arasındaki fark nedir.
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;
Sorgularda herhangi bir hata var mı? Bu sorgular (1,2 ve 3) ne anlama geliyor? Onlar aynı mı ???