Error de sintaxis con KEY EXTRANJERA en CREATE TABLE

Estoy consiguiendo la salida siguiente en depurador. No estoy seguro de qué sintaxis falta.

El código SQL es:

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)); 

El error se reduce a:

 12-09 12:34:20.782: E/SQLiteLog(6490): (1) near "Week_Id": syntax error 

Intente mover sus listas FOREIGN KEY después de crear sus variables.

 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)); 

De acuerdo con la sintaxis SQLite (http://www.sqlite.org/lang_createtable.html) también puede escribir algo como esto:

 CREATE TABLE timesheets(Timesheet_Id INTEGER PRIMARY KEY, Project_Id INTEGER REFERENCES projects (Project_Id), Week_Id INTEGER REFERENCES weeks (Week_Id)); 

Esto fusiona las declaraciones y claves foráneas.

  • Android SQLite Eliminar problema de fila
  • Cómo escribir contiene consulta en SQLite fts3 fulltext search
  • Cómo diferenciar dos tablas
  • Compruebe si la consulta SQL ha tenido éxito en Android SQLite
  • Cómo obtener el valor de la columna Timestamp en android mediante cursor
  • Cursor SQLLiteDataBase de Android que devuelve 0 filas
  • Cómo obtener datos de Azure DB Table en una aplicación de Android?
  • ¿Puede alguien explicarme el paso de compilación en la creación de un archivo binario sqlcipher?
  • Conectando a la base de datos externa - Aplicación de Android
  • Seleccione un primer carácter distinto basado en la columna de cadena
  • Android rawQuery - ¿Hay una manera de usar "IN" parametrizada para una colección de datos
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.