Почему я получаю исключение SQLSyntaxErrorException - ""? - PullRequest
0 голосов
/ 29 ноября 2009

Этот метод продолжает выдавать исключение в заголовке, и я не могу найти причину, я создал другие таблицы через соединение и все ссылочные таблицы были созданы. Я использую встроенный JavaDB .

private void createEvidenceTable() throws SQLException
{
    Statement evidenceTable = CONNECTION.createStatement();
    evidenceTable.execute("CREATE TABLE evidence("+
                            "evidence_id INTEGER NOT NULL PRIMARY KEY,"+
                            "date_added VARCHAR(6) NOT NULL,"+
                            "evidence_dated VARCHAR(6) NOT NULL,"+
                            "evidence_file varchar(20),"+
                            "evidence_text VARCHAR(10),"+
                            "source_location_id INTEGER,"+
                            "source_person_id INTEGER,"+
                            "evidence_type VARCHAR(20),"+
"CONSTRAINT evidence__location_source FOREIGN KEY(source_location_id) REFERENCES location_source,"+
"CONSTRAINT evidence_person_source FOREIGN KEY(source_person_id) REFERENCES person_source,"+
"CONSTARINT evidence_evidence_type FOREIGN KEY(evidence_type) REFERENCES evidence_types)");

}

Ответы [ 2 ]

5 голосов
/ 29 ноября 2009

Одна определенная проблема заключается в том, что третье условие ограничения написано с ошибкой (CONSTARINT iso CONSTRAINT)

0 голосов
/ 29 ноября 2009

Это работает в клиенте MySQL:

CREATE TABLE evidence
(
    evidence_id INTEGER NOT NULL,
    date_added VARCHAR(6) NOT NULL, 
    evidence_dated VARCHAR(6) NOT NULL, 
    evidence_file varchar(20),
    evidence_text VARCHAR(10),
    source_location_id INTEGER,
    source_person_id INTEGER,
    evidence_type VARCHAR(20),
    PRIMARY KEY(evidence_id),
    FOREIGN KEY(source_location_id) REFERENCES location_source(source_location_id),
    FOREIGN KEY(source_person_id) REFERENCES person_source(source_person_id),
    FOREIGN KEY(evidence_type) REFERENCES evidence_types(evidence_type)
);

Почему вы используете VARCHAR (6) вместо DATE? Не имеет для меня никакого смысла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...