2011-12-20 6 views
1

mysql 5.0.92에서 다음 스크립트를 실행할 때 문제가 있습니다. 색인에 문제가 있다는 것을 알고 있지만 알아낼 수는 없습니다. 도움이 매우 감사합니다인덱스가 innodb로 실행되지 않습니다

CREATE TABLE Foundation (
MemberID INT NOT NULL AUTO_INCREMENT, 
MemberCategory VARCHAR(45) NOT NULL, 
Invitation TINYINT(1) NULL, 
Accepted TINYINT(1) NULL, 
PersonID INT NOT NULL, 
PRIMARY KEY (MemberID), 

INDEX (PersonID) 
FOREIGN KEY (PersonID) REFERENCES Persons (PersonID) 
ON DELETE NO ACTION 
ON UPDATE NO ACTION) 


ENGINE = InnoDB 
DEFAULT CHARACTER SET = utf8 
COLLATE = utf8_general_ci; 
+1

'Persons' 테이블 정의는 어디에 있습니까? – piotrekkr

+0

어떤 문제가 있습니까? –

답변

1

INDEX (PersonID) 바로 뒤에 쉼표가 없습니다. 외래 키는 두 테이블 모두에서 정확히 같은 정의를 가져야합니다. 부호와 같은

PersonID INT NOT NULL,

하더라도 조금만 변화는 당신에게 150 errorno을 얻을 것이다 :

그래서 PersonId는 사람 테이블에 동일한 정의를 가지고있다.

관련 문제