外键字段的名称是否可以与其在其他表中引用的字段的名称不同?

sid*_*rth 3 database sqlite database-design foreign-keys

外键字段的名称是否可以与其在其他表中引用的字段的名称不同?如果是,它如何引用另一个表?

Ati*_*gur 5

是的,没关系。阅读sqlite外键文档。它给出了类似的例子。正如您所看到的,列名并不相同,但仍然添加了外键。

CREATE TABLE artist(
  artistid    INTEGER PRIMARY KEY, 
  artistname  TEXT
);
CREATE TABLE track(
  trackid     INTEGER, 
  trackname   TEXT, 
  trackartist INTEGER,
  FOREIGN KEY(trackartist) REFERENCES artist(artistid)
);
Run Code Online (Sandbox Code Playgroud)