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