ON UPDATE 옵션절
- 행의 값을 새롭게 갱신 할 때의 기본값을 설정하는 옵션
CREATE TABLE test_date2( id INT PRIMARY KEY AUTO_INCREMENT, order_time DATETIME DEFAULT current_timestamp ON UPDATE current_timestamp ); |
FOREIGN KEY 옵션
ON DELETE
- 외래키관계에서 부모 데이터가 삭제 될 때 동작하는 옵션 설정
ON UPDATE
- 외래키관계에서 부모 데이터가 갱신 될 때 동작하는 옵션 설정
ALTER TABLE students ADD FOREIGN KEY (grade) REFERENCES grades(id) ON DELETE CASCADE ← 부모가 삭제 시 자식 행도 같이 삭제 ON UPDATE CASCADE; ← 부모가 갱신 될 시 자식 행도 같이 갱신 |
옵션값
- NO ACTION : 참조하던 값이 삭제되거나 변경되어도 아무런 작업을 하지 않는다. 이 경우 값이 바뀌는 것을 허용하지 않기 때문에 제약조건을 위배하는 작업을 하게되면 에러가 발생하게 된다. 기본값.
- CASCADE : 부모의 값이 변경되거나 삭제되는 경우, 자식의 값도 종속적으로 부모의 변경된 값으로 바뀌거나 행이 삭제된다. 부모행에 대한 작업을 하게되면 자식 행들도 동일하게 영향을 받게되므로 주의해서 작업 할 것! 정확하게 알고 사용한다면 테이블들의 무결성 유지에 많은 도움을 준다.
- SET NULL : 부모의 값이 변경되거나 삭제되는 경우, 자식의 값은 NULL값으로 바뀌게 된다. 자식컬럼에 NOT NULL이 걸린 경우에는 사용할 수 없으므로 주의!
'DB > MySQL' 카테고리의 다른 글
[Mysql] 시험용어 정리 ① (1) | 2023.10.12 |
---|---|
[Mysql] 예제로 공부하는 트랙잭션 공부 (0) | 2023.10.04 |
DML(Data Manipulation Language / 데이터조작어) (0) | 2023.09.19 |
[Mysql] 서브쿼리 예제문제 (1) | 2023.09.18 |
[Mysql] 인라인뷰, 조건의 쌍비교 방식 (2) | 2023.09.16 |