ฉันมีสองตารางใน 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 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;
มีข้อผิดพลาดในแบบสอบถามหรือไม่ ข้อความค้นหาเหล่านี้ (1,2 & 3) หมายถึงอะไร? พวกเขาเหมือนกัน ???