CREATE TABLE School (Id integer主键,Name TEXT NOT NULL
);创建表事件Id integer主键,TEXT NOT NULL,start_data文本不为空,end_data文本不为空,标题文本不空,外键fk_events_ID REFERENCES学校(ID)
);
CREATE TABLE CALENDARID的整数主键,标题文本不空,TEXT NOT NULL,start_data文本不为空,end_data文本不为空,主题整数不空,外键fk_CALENDAR_ID REFERENCES学校(ID)
);
CREATE TABLE GRADESId integer主键,标题文本不是零,系数REAL NOT NULL,值REAL NOT NULL,date_time TEXT不为空,主题整数不空,外键fk_GRADES_ID REFERENCES学校(ID)
在外键语法中,必须命名表中作为外键的列。您还需要首先定义一个列,以便为该列定义数据类型或其他选项。
错:
FOREIGN KEY fk_events_ID REFERENCES School(ID)
:
school_id INTEGER,
FOREIGN KEY fk_events_ID (school_id) REFERENCES School(ID)
https://sqlite.org/foreignkeys.html以获得更多信息了解外键在SQLite。
在外键中,您需要括号,并且指定约束可能出错的所有内容是一个好习惯,因此您可以确切地知道问题所在在许多情况下,手册可以帮助你在第一时间。https://www.sqlite.org/docs.html
ID INTEGER PRIMARY KEY,
Name TEXT NOT NULL
);
CREATE TABLE events (
ID INTEGER PRIMARY KEY,
details TEXT NOT NULL,
start_data TEXT NOT NULL,
end_data TEXT NOT NULL,
title TEXT NOT NULL,
CONSTRAINT fk_events FOREIGN KEY (fk_events_ID) REFERENCES School(ID)
);
CREATE TABLE CALENDAR (
ID INTEGER PRIMARY KEY,
title TEXT NOT NULL,
details TEXT NOT NULL,
start_data TEXT NOT NULL,
end_data TEXT NOT NULL,
subject INTEGER NOT NULL,
CONSTRAINT fk_calendar FOREIGN KEY (fk_CALENDAR_ID) REFERENCES School(ID)
);
CREATE TABLE GRADES (
ID INTEGER PRIMARY KEY,
title TEXT NOT NULL,
coefficent REAL NOT NULL,
value REAL NOT NULL,
date_time TEXT NOT NULL,
Subject INTEGER NOT NULL,
CONSTRAINT fk_grades FOREIGN KEY (fk_GRADES_ID) REFERENCES School(ID)
);```