SQLMetal - 具有多个字段的外键约束 - 错误



当我尝试在定义多个字段的外键约束的sqlite数据库上运行SQLMetal时,出现错误。

下表如下:

CREATE TABLE A (
    a1 INTEGER,
    a2 INTEGER,
    PRIMARY KEY (a1,a2)
);
CREATE TABLE B (
    b1 INTEGER,
    b2 INTEGER,
    b3 INTEGER,
    b4 TEXT,
    PRIMARY KEY (b1,b2,b3),
    FOREIGN KEY (b1,b2) REFERENCES A (a1,a2)
);

错误消息是:

"sqlmetal: Sequence contains more than one matching element"

有人知道如何解决这个问题吗?

我认为

问题是每个表只能有一个主键。 以下是 sqlite 文档中的简介:

"SQLite中的每个表最多可以有一个主键。如果将关键字 PRIMARY KEY 添加到列定义中,则表的主键由该单个列组成。或者,如果将 PRIMARY KEY 子句指定为表约束,则表的主键由指定为 PRIMARY KEY 子句一部分的列列表组成。如果单个 CREATE TABLE 语句中有多个 PRIMARY KEY 子句,则为错误。

最新更新