[英]syntax error with FOREIGN KEY in CREATE TABLE
I am getting following output on debugger. 我在调试器上得到以下输出。 I am not sure what syntax is missing.
我不确定缺少什么语法。
The SQL code is: SQL代码是:
CREATE TABLE weeks(Week_Id INTEGER PRIMARY KEY,
Day TEXT,
Start_Time Text,
End_Time Text,
Break_Time Text );
CREATE TABLE projects(Project_Id INTEGER PRIMARY KEY,
Name TEXT,
Description Text,
Client_Name Text,
Location Text );
CREATE TABLE timesheets(Timesheet_Id INTEGER PRIMARY KEY,
Project_Id INTEGER,
FOREIGN KEY (Project_Id) REFERENCES projects (Project_Id),
Week_Id INTEGER,
FOREIGN KEY (Week_Id) REFERENCES weeks (Week_Id));
The error boils down to: 错误归结为:
12-09 12:34:20.782: E/SQLiteLog(6490): (1) near "Week_Id": syntax error
Try moving your FOREIGN KEY
lists to after your variables are created. 尝试在创建变量后移动
FOREIGN KEY
列表。
CREATE TABLE timesheets(Timesheet_Id INTEGER PRIMARY KEY,
Project_Id INTEGER,
Week_Id INTEGER,
FOREIGN KEY (Project_Id) REFERENCES projects (Project_Id),
FOREIGN KEY (Week_Id) REFERENCES weeks (Week_Id));
According to the SQLite syntax (http://www.sqlite.org/lang_createtable.html) you can also write something like this: 根据SQLite语法(http://www.sqlite.org/lang_createtable.html),您还可以编写如下内容:
CREATE TABLE timesheets(Timesheet_Id INTEGER PRIMARY KEY,
Project_Id INTEGER REFERENCES projects (Project_Id),
Week_Id INTEGER REFERENCES weeks (Week_Id));
This merges declarations and foreign keys. 这合并了声明和外键。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.