I am getting following output on debugger. I am not sure what syntax is missing.
The SQL code is:
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.
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:
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With