用于创建具有外键的表的SQLite语法

前端之家收集整理的这篇文章主要介绍了用于创建具有外键的表的SQLite语法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在创建一个带有外键引用的表。我想知道所需的语法。大多数情况下,我看到以下(从 http://www.sqlite.org/foreignkeys.html#fk_basics):
CREATE TABLE artist(  
  artistid    INTEGER PRIMARY KEY,artistname  TEXT  
);  
CREATE TABLE track(  
  trackid     INTEGER,trackname   TEXT,trackartist INTEGER,FOREIGN KEY(trackartist) REFERENCES artist(artistid)  
);

但是,从同一个网站(http://www.sqlite.org/foreignkeys.html#fk_actions)我看到:

CREATE TABLE artist(  
  artistid    INTEGER PRIMARY KEY,trackartist INTEGER REFERENCES artist(artistid) ON UPDATE CASCADE  
);

后一种语法有一点更简洁,但是我想知道结果是否有所不同(除了ON UPDATE CASCADE,这当然有一个效果;我只包括它,因为我从引用的网站完全复制了代码,并且因为我不知道上述语法不适用于制作这样的规范时)。我在Android上工作,万一重要。

syntax diagrams

第一个语法是表约束,而第二个语法是列约束。
在这些例子中,它们的行为相同。

对于多个列的键,您将需要一个表约束(您没有单个列可以附加到它)。

猜你在找的Sqlite相关文章