生成的SQL抛出错误

时间:2013-01-22 23:29:53

标签: sql orm h2

我正在使用带有加载项的Visual Studio来创建ORM数据库模型并从中生成SQL。事实证明,SQL会抛出错误。这是一个部分:

CREATE TABLE ORMModel1.Milking
(
    employeeName CHARACTER VARYING(32672) NOT NULL,
    parlorNumber SMALLINT CHECK (parlorNumber BETWEEN 1 AND 2) CHECK (parlorNumber BETWEEN 0 AND 255) NOT NULL,
    startDate TIMESTAMP NOT NULL,
    cowName CHARACTER VARYING(32672) NOT NULL,
    lipidity FLOAT(4) NOT NULL,
    volume FLOAT(4) NOT NULL,
    CONSTRAINT Milking_PK PRIMARY KEY(employeeName, startDate, parlorNumber),
    CONSTRAINT Milking_UC1 UNIQUE(employeeName, cowName, startDate),
    CONSTRAINT Milking_UC2 UNIQUE(cowName, startDate, parlorNumber)
);

抛出的错误是:

expected "[, ::, *, /, %, +, -, ||, ~, !~, NOT, LIKE, REGEXP, IS, IN, BETWEEN, AND, OR, REFERENCES, ,, )"; 

但我不知道这意味着什么(我有点失望,因为我希望自动生成的SQL会即插即用)

由于这是一项学校作业,我使用www.h2database.com来测试SQL。我不确定错误是在我的SQL中还是在H2软件中,但无论哪种方式我都无法继续我的项目。目前,H2是我对SQL服务器的唯一访问。

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

将第4行更改为:

时,问题就解决了
parlorNumber SMALLINT NOT NULL CHECK (parlorNumber BETWEEN 1 AND 2),