2017-09-29 6 views
-2

다음 코드로 두 개의 테이블을 만들려고합니다. 코드의 첫 번째 줄 근처 오류 말하는Postgres SQL 구문 오류가 보이지 않는 'REFERENCES'근처에 있습니까?

[Code: , SQL State: 42601] ERROR: syntax error at or near "REFERENCES" Position: 112

:

CREATE TABLE assessments (
    id INT UNIQUE PRIMARY KEY, 
    name VARCHAR(100), 
    type VARCHAR(10), 
    total_points NUMERIC, 
    weight NUMERIC 
    CHECK(weight >= 0) 
    CHECK(weight <= 100), 
    due_date DATE, 
    section_id INT REFERENCES sections(id) 
); 

CREATE TABLE enrollment_assessments (
    id INT UNIQUE PRIMARY KEY REFERENCES enrollments(id), 
    assignment_id REFERENCES assignments(id), 
    assessment_type REFERENCES assessments(type), 
    points NUMERIC 
    CHECK (points >= 0) 
    CHECK (points <-100), 
); 

그러나, 나는 오류가? 나는이 오류를 전혀 이해하지 못한다.

답변

0

나는이 부분에 쉼표를 좋아하지 않는다 :

CHECK (points >= 0) 
CHECK (points <-100), 
+0

을 참으로 죄송합니다! 하지만 여전히 오류를 수정하는 데 아무런 역할도하지 못했습니다. 심지어 코드의 처음 몇 줄을 주석 처리하더라도 주석 부분에 여전히 오류가 표시됩니까? 이 DB 물건은 매우 혼란 스럽네요 –

0

당신이 데이터 형식을 그리워하고 추가 쉼표 제거 할 수 있습니다

CREATE TABLE enrollment_assessments (
    id INT UNIQUE PRIMARY KEY REFERENCES enrollments(id), 
    assignment_id INT REFERENCES assignments(id), 
    assessment_type VARCHAR(10) REFERENCES assessments(type), 
    points NUMERIC 
    CHECK (points >= 0) 
    CHECK (points <-100) 
); 
+0

고마워요! 어리석은 오류 –