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

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

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

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

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

syntax diagrams

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

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

猜你在找的Sqlite相关文章