2013-11-01 4 views
1

MySQL 버전 5.5.25를 사용하고 같은 테이블에서 id_parent에서 id으로 외래 키를 생성하려고합니다.MySQL 외래 키 제한 사항이 저장되지 않습니다.

CREATE TABLE `acl_roles` (
`id` int(20) unsigned NOT NULL AUTO_INCREMENT,                                                                           
`name` varchar(60) NOT NULL,                                                                                
`id_parent` int(20) unsigned DEFAULT NULL,                                                                            
PRIMARY KEY (`id`),                                                                                  
KEY `FK_acl_roles` (`id_parent`),                                                                               
CONSTRAINT `FK_acl_roles` FOREIGN KEY (`id_parent`) REFERENCES `acl_roles` (`id`)                                                                   
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 

나는 오류없이 후자가 실행 아직 내가 동일한 스키마를 얻을 SHOW CREATE TABLE acl_roles을 실행 어떤 이유

ALTER TABLE `acl_roles` ADD CONSTRAINT `FK_acl_roles` FOREIGN KEY (`id_parent`) REFERENCES `acl_roles` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT ; 

할 및 제한에 상관없이 내가 실행 횟수 적용되지 않을 때 질문.

답변

1

ON DELETE RESTRICT ON UPDATE RESTRICT이 FK 제약 조건의 기본 동작이므로 스키마를 볼 때 아무런 차이가없는 것입니다. 함축되어 있습니다.

+0

나는 이것을 알 수있는 방법이 없다. 감사! – Julian