android - CREATE TABLE 中的 FOREIGN KEY 语法错误

标签 android sql android-sqlite

我在调试器上得到以下输出。我不确定缺少什么语法。

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

错误归结为:

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

最佳答案

尝试将您的 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)); 

关于android - CREATE TABLE 中的 FOREIGN KEY 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13787443/

相关文章:

java - 如何在android中的onMapReady()中获取onNavigationItemSelected()值

sql - SQLite 与 Postgres 中的 Rails Active Record 组查询

sql - 仅创建过程权限

android - SQLite - 基于 UNIX 时间戳按月分组

android - 动态更改 ListView 中的项目

php - 通过 Android 应用程序验证 Paypal 电子邮件地址

android - 如何在 Android 中通过 pubdate 对 Listview 中的 xml 进行排序

sql - 其他用户能否闯入我的sql操作序列?

android - SQLite 没有创建数据库

android - 如何在 Android 中重置 SqlLite 数据库?