2011-04-27 3 views
39

RESTRICT와 NO ACTION 사이의 mySQL FK의 차이점은 무엇입니까? 의사는 똑같은 것처럼 보입니다. 이 경우인가요? 그렇다면 두 가지 이유는 무엇입니까?mySQL RESTRICT 및 NO ACTION

답변

11

표준 SQL 구문을 준수해야합니다. manual 같이 말한다 : (강조 광산)

NO ACTION : 표준 SQL에서 키워드. MySQL에서는 RESTRICT와 동일합니다. MySQL 서버는 참조 된 테이블에 관련 외래 키 값이있는 경우 상위 테이블에 대한 삭제 또는 업데이트 작업을 거부합니다. 일부 데이터베이스 시스템에는 지연 검사가 있고 NO ACTION에는 지연 검사가 있습니다. MySQL에서는 외부 키 제약 조건이 즉시 검사되므로 NO ACTION은 RESTRICT와 동일합니다. MySQL의 문서에서

13

이들은 MySQL에서 동일합니다. 는 SQL 2003 표준에서

5 개 가지 참조 동작있다 :

CASCADE 
RESTRICT 
NO ACTION 
SET NULL 
SET DEFAULT 

NO ACTIONRESTRICT의 차이는 표준에 따른 NO ACTION 즉시 동안 RESTRICT 작용 지연된다는 점이다.