创建表时jdbc derby语法错误

时间:2014-04-03 19:33:50

标签: java sql derby

请看一下:

CREATE TABLE Uzytkownik(
    user_id INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY,
    login VARCHAR(25) NOT NULL,
    password VARCHAR(16) NOT NULL,
    CONSTRAINT user_pk PRIMARY KEY (user_id)
);

CREATE TABLE Wizytowka(
    wizytowka_id INTEGER NOT NULL GENERATED ALWAYS AS IDENTITY,
    tytul VARCHAR(60) NOT NULL,
    tresc VARCHAR(400) NOT NULL,
    premium_w INTEGER(1) NOT NULL,
    id_user INTEGER NOT NULL,
    CONSTRAINT wizytowka_id PRIMARY KEY (wizytowka_id),
    FOREIGN KEY (id_user) REFERENCES Uzytkownik(user_id)
);

我得到语法错误:遇到“(”第5行第26行。 第8行第1栏

1 个答案:

答案 0 :(得分:1)

问题出在你的第二个创建语句中。 Derby不支持integer类型的长度属性。因此

premium_w INTEGER(1) NOT NULL,

导致错误。将其修改为

premium_w INTEGER NOT NULL,

它会起作用。