sql

티베로 FK 생성, 수정, 삭제 (ON DELETE ... ON UPDATE ...)

빈콩님 2022. 9. 22. 10:40

티베로는 ON UPDATE CASCADE 설정 안해도 자동으로 들어감.. 

자꾸 General syntax error 떠서 왜 안되지 했는데 ON UPDATE CASCADE 하려고 해서 났음 ;; 

-- 외래키 생성
ALTER TABLE 테이블명 DROP CONSTRAINT 외래키 이름;

-- 외래키 생성
ALTER TABLE 테이블명 ADD CONSTRAINT 외래키 이름 FOREIGN KEY (컬럼명) REFERENCES 참조할 테이블명(참조할 컬럼명) ON DELETE SET NULL;

- ON UPDATE SET NULL, ON DELETE SET NULL

부모테이블에서 primary 값이 수정 또는 삭제될 때,

하위테이블의 reference값이 NULL 값으로 변경되고 참조무결성 유지

- ON UPDATE CASCADE
부모테이블에서 primary 값이 수정될 때,
하위테이블의 reference값이 변경된 상위테이블의 수정된 값을 가지고 참조무결성 유지

* ON DELETE CASCADE
옵션 CASCADE -> 부모테이블에서 primary 값이 삭제될 경우
하위테이블의 reference값이 삭제되면서 참조무결성 유지