2010-04-09 4 views
1

다음 쿼리를 실행하는 동안 줄 9 근처의 구문에 오류가 발생합니다. mysql 워크 벤치를 사용하고 있기 때문에 무엇이 잘못 될지 알 수 없습니다.mysql 구문의 오류

CREATE TABLE IF NOT EXISTS `proquotes`.`thquotes` (

    `idQuotes` INT NOT NULL AUTO_INCREMENT , 

    `vAuthorID` VARCHAR(8) CHARACTER SET 'utf8' NOT NULL , 

    `vAuthor` VARCHAR(45) CHARACTER SET 'utf8' NOT NULL , 

    `cQuotes` MEDIUMTEXT CHARACTER SET 'utf8' NOT NULL , 

    `cArabic` MEDIUMTEXT CHARACTER SET 'utf8' NOT NULL , 

    `vReference` VARCHAR(100) CHARACTER SET 'utf8' NOT NULL , 

    PRIMARY KEY (`idQuotes`) , 

    INDEX `vAuthorID`() , 

    CONSTRAINT `vAuthorID` 

    FOREIGN KEY() 

    REFERENCES `proquotes`.`author_info`() 

    ON DELETE NO ACTION 

    ON UPDATE NO ACTION) 

DEFAULT CHARACTER SET = utf8; 

테이블 author_info : INDEX vAuthorID(), FOREIGN KEY()REFERENCES proquotes.author_info() :

CREATE TABLE IF NOT EXISTS `proquotes`.`author_info` ( 

`vAuthorID` INT NOT NULL , `vAuthor` VARCHAR(45) CHARACTER 

SET 'utf8' NOT NULL , `nQuotes` INT NOT NULL , PRIMARY KEY 

(`vAuthorID`) , UNIQUE INDEX `vAuthorID_UNIQUE` (`vAuthorID` 

ASC))DEFAULT CHARACTER SET = utf8; 

답변

2

구문 오류에 빈 괄호를 것으로 보인다. 이러한 괄호는 하나 이상의 테이블 속성을 참조해야합니다. 예를 들어

:

INDEX `vAuthorID` (`vAuthorID`) , 
CONSTRAINT `vAuthorID` 
    FOREIGN KEY (`vAuthorID`) 
    REFERENCES `proquotes`.`author_info` (`vAuthorID`) 

thquotesauthor_info에서의 특성을 참조하고, 안된다 REFERENCES 절의 마지막 괄호. 따라서 vAuthorID을 적절하게 변경해야 할 수도 있습니다.

+0

나는 그것을했다. 'ERROR 1005 : 테이블을 만들 수 없습니다 'proquotes.thquotes (errno : 150)' – input

+0

@fusion : 어떤 MySQL 버전을 사용하고 있습니까? 'author_info.vAuthorID'에 수동으로 색인을 생성해야 할 수도 있습니다. 출처 : http://forums.mysql.com/read.php?22,19755,19755#msg-19755 –

+0

@fusion : ... 그렇지 않으면 'author_info.vAuthorID'가 완전히 동일한 데이터 유형이 아닐 수도 있습니다. 'thquotes.vAuthorID'로. 출처 : http://www.devdaily.com/blog/post/mysql/mysql-error-1005-hy000 –

0

세 가지 명백한 오류는 INDEX 및 FOREIGN KEY 정의에 필드가 부족하다는 것입니다. 각각에 대해 하나 이상의 필드를 지정해야합니다. 그렇지 않으면 구문 오류입니다. 또한있을 것입니다, 일반적으로 MySQL이의 MyISAM을 사용합니다 즉, 외국 주요 사양 그렇게 모두 사용되는 데이터베이스 엔진을 지정하지 않을

INDEX `vAuthorID`() , <--need a field here in the()'s 
CONSTRAINT `vAuthorID` 
    FOREIGN KEY() <---another field here in the()'s 
    REFERENCES `proquotes`.`author_info`() <--and yet another field here in the()'s 

는 자동으로 떨어졌다.