3

你们能指出我的错误吗?顺便说一下,有没有 SQLite 语法高亮器?谢谢。

    sqlite> .schema recordtypes
    CREATE TABLE recordtypes (record_id text primary key);
    sqlite> .schema headers
    CREATE TABLE headers (header_id text primary key);
    sqlite>                                
    sqlite> 
    sqlite> CREATE TABLE record_to_headers (id INTEGER, recordid TEXT, FOREIGN KEY(recordid) REFERENCES recordtypes(record_id), headerid TEXT, FOREIGN KEY(headerid) REFERENCES headers(header_id));
    Error: near "headerid": syntax error
4

2 回答 2

4

我相信您需要定义所有字段,然后将它们映射到外键,如下所示:

CREATE TABLE record_to_headers (id INTEGER, recordid TEXT, headerid TEXT, FOREIGN KEY(recordid) REFERENCES recordtypes(record_id), FOREIGN KEY(headerid) REFERENCES headers(header_id));

让我知道这是否有效。

于 2013-07-25T11:39:43.380 回答
4

将您的约束放在列定义之后:

CREATE TABLE record_to_headers (
    id INTEGER,
    recordid TEXT,
    headerid TEXT,
    FOREIGN KEY(recordid) REFERENCES recordtypes(record_id),
    FOREIGN KEY(headerid) REFERENCES headers(header_id)
);
于 2013-07-25T11:40:41.360 回答