如何在 sqlite 中的一个 table 中使用多个外键?

How to use multiple foreign keys in one table in sqlite?

String Post_Code = "CREATE TABLE IF NOT EXISTS PostCode("
                        + "PostCode_ID integer PRIMARY KEY, "
                        + "Code        string NOT NULL, "
                        + "City_ID     integer,"
                        + "FOREIGN KEY (City_ID)"
                        + "REFERENCES City (City_ID)"
                        +   "ON UPDATE CASCADE "
                        +   "ON DELETE SET NULL, "
                        + "County_ID   integer,"
                        + "FOREIGN KEY (County_ID)"
                        + "REFERENCES County (County_ID)"
                        +   "ON UPDATE CASCADE "
                        +   "ON DELETE SET NULL"
                        + ");";

我认为它很可能是第一个外键引用中的内容。

要么将所有FOREIGN KEY定义移动到语句末尾:

CREATE TABLE IF NOT EXISTS PostCode(
  PostCode_ID integer PRIMARY KEY, 
  Code TEXT NOT NULL, 
  City_ID integer,
  County_ID integer,
  FOREIGN KEY (City_ID) REFERENCES City (City_ID) ON UPDATE CASCADE ON DELETE SET NULL, 
  FOREIGN KEY (County_ID)REFERENCES County (County_ID) ON UPDATE CASCADE ON DELETE SET NULL
);

或者,在没有 FOREIGN KEY 关键字的情况下,在定义每列之后立即定义每个外键:

CREATE TABLE IF NOT EXISTS PostCode(
  PostCode_ID integer PRIMARY KEY, 
  Code TEXT NOT NULL, 
  City_ID integer REFERENCES City (City_ID) ON UPDATE CASCADE ON DELETE SET NULL,
  County_ID integer REFERENCES County (County_ID) ON UPDATE CASCADE ON DELETE SET NULL
);

参见demo

请注意,SQLite 中没有 string 数据类型。
我改成了TEXT.