나는 MySQL의 데이터베이스 - 두 개의 테이블이 parent
,을 child
. 부모 테이블을 기반으로 자식 테이블에 외래 키 참조를 추가하려고합니다. ON UPDATE CASCADE
와 사이에 큰 차이가 있습니까?ON DELETE CASCADE
내 부모님 테이블
CREATE TABLE parent (
id INT NOT NULL,
PRIMARY KEY (id)
) ENGINE=INNODB;
내 질문은 : 다음 SQL 쿼리의 차이점은 무엇입니까?
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;
쿼리에 오류가 있습니까? 이 쿼리 (1,2 & 3)는 무엇을 의미합니까? 그들은 같은가요 ???