加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-12 19:14:18 所属栏目:百科 来源:网络整理
导读:我正在创建一个带有外键引用的表。我想知道所需的语法。大多数情况下,我看到以下(从 http://www.sqlite.org/foreignkeys.html#fk_basics): CREATE TABLE artist( artistid INTEGER PRIMARY KEY,artistname TEXT ); CREATE TABLE track( trackid INTEGER,tr
我正在创建一个带有外键引用的表。我想知道所需的语法。大多数情况下,我看到以下(从 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。

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读