2017-11-01 18 views
-2

'ERROR 1064 : SQL 구문에 오류가 있습니다. ') 나는

오류 1064 발생하는 많은 관계 테이블이 오류에 대한 많은으로 해당 테이블을 만들려고 노력 해요을 가까이 사용할 수있는 권리 구문에 대한 MySQL 서버 버전에 해당하는 설명서를 확인 : 당신을 SQL 구문에 오류가 있습니다. 근처 사용할 수있는 권리 구문 '에 대한 귀하의 MySQL 서버 버전에 해당하는 수동) SCREEN-SHOTSCREEN-SHOT 2

이 내 명령에 대한 또 다른 시험이다를 확인

CREATE TABLE `new_e`.`teach` (
    `instructor_i_id` INT NOT NULL, 
    `course_c_id` INT NOT NULL, 
    PRIMARY KEY (`instructor_i_id`, `course_c_id`), 
    CONSTRAINT `i_id` 
    FOREIGN KEY (`i_id`) 
    REFERENCES `new_e`.`instructor` (`i_id`) 
    ON DELETE NO ACTION 
    ON UPDATE CASCADE, 
    CONSTRAINT `c_id` 
    FOREIGN KEY() 
    REFERENCES `new_e`.`course`() 
    ON DELETE RESTRICT 
    ON UPDATE CASCADE); 
+0

c_id 제약 조건 인 REFERENCES에서() 끝에있는 것을 잊어 버렸습니까? – Nic3500

+0

예 그리고 이것 역시 시도했습니다. https://i.stack.imgur.com/40m2k.png –

+0

@ M.Sherif, 스크린 샷을 사용하지 마십시오. SQL 문'SHOW CREATE TABLE instructor' 및'SHOW CREATE TABLE course'을 실행하고 ** 텍스트를 복사하십시오. ** 그런 다음 위에 질문을 붙여서 붙여 넣으십시오. –

답변

2

두 번째 외래 키 정의 :

FOREIGN KEY() 
REFERENCES `new_e`.`course`() 

에는 괄호 사이에 하나 이상의 열이 있어야합니다.

+0

대답 해 주셔서 감사합니다. 예. 시도했지만 동일한 문제가 발생했습니다. –

+0

@ M.Sherif. . . 빌은 이런 종류의 일에 꽤 능숙합니다. 여전히 동일한 문제가 발생하는 경우 질문을 수정하고 수정 된 코드를 표시해야합니다. 그 사이에, 문제는 괄호 안의 참조가 없다고 생각합니다. –

+0

@ M.Sherif 당신은 무엇을 시도 했습니까? 제안 된대로 하나 이상의 열 이름을 괄호에 넣으면 같은 문제가 발생하지 않습니다. – EJP