0

我想将它添加到 SQLite 中,但我无法让 alter table 与添加外键一起工作。它看起来像这样:

create table Medlem
(Mnr integer not null,
Namn varchar(6),
Telefon varchar(10),
primary key (Mnr));

create table Sektion
(Skod char(1) not null,
Namn varchar(14),
Ledare integer,
primary key (Skod));

create table Deltar
(Medlem integer not null,
Sektion char(1) not null,
primary key (Medlem, Sektion));

alter table Sektion
add foreign key (Ledare) references Medlem (Mnr);
alter table Deltar
add foreign key (Medlem) references Medlem (Mnr);
alter table Deltar
add foreign key (Sektion) references Sektion (Skod);

4

1 回答 1

2

在 SQL Lite 中实现外键约束的唯一方法是CREATE TABLE

CREATE TABLE track(
  trackid     INTEGER, 
  trackname   TEXT, 
  trackartist INTEGER,
  FOREIGN KEY(trackartist) REFERENCES artist(artistid)
);

不能使用ALTER TABLE ... ADD COLUMN语法来添加包含REFERENCES子句的列,除非新列的默认值为NULL. 尝试这样做会返回错误。

文档

于 2013-03-13T17:11:58.503 回答