gpt4 book ai didi

android SQLite外键错误

转载 作者:行者123 更新时间:2023-11-30 04:08:34 25 4
gpt4 key购买 nike

我一直在努力解决以下错误:

我正在定义几个表,其中两个必须共享一个值“task_id”。我在我的代码中使用以下创建语句:

// SQL Statement to create new Tasks table
private static final String TASKS_TABLE_CREATE = "create table " + TASKS_TABLE
+ (" (" + KEY_TASKS_TASKID + " integer primary key autoincrement, ")
+ (KEY_TASKS_TASK + " TEXT, ")
+ (KEY_TASKS_SESSION + " TEXT, ")
+ (KEY_TASKS_CONDITION + " TEXT);");
// SQL Statement to create new RAT table
private static final String RAT_TABLE_CREATE = "create table " + RAT_TABLE
+ (" (" + KEY_ID + " integer primary key autoincrement, ")
+ (KEY_RAT_TIMESTAMP + " DATETIME DEFAULT null, ")
+ (KEY_RAT_TASKID + " INTEGER NOT NULL, ")
+ ("FOREIGN KEY(" + KEY_RAT_TASKID + ") REFERENCES ")
+ (TASKS_TABLE + "(" + KEY_TASKS_TASKID + "), ")
+ (KEY_RAT_SESSION + " TEXT DEFAULT null, ")
+ (KEY_RAT_RAT_A + " TEXT DEFAULT null, ")
+ (KEY_RAT_RAT_B + " TEXT DEFAULT null, ")
+ (KEY_RAT_RAT_C + " TEXT DEFAULT null, ")
+ (KEY_RAT_ANSWER + " TEXT DEFAULT null, ")
+ (KEY_RAT_CONDITION + " TEXT DEFAULT null);");

我收到一个 SQL 异常,它说:

06-26 20:24:49.759: E/Database(17404): 在准备'create table rat (_id integer primary key autoincrement, timeStamp DATETIME DEFAULT null, taskId INTEGER NOT NULL, FOREIGN KEY (taskId) REFERENCES tasks (taskId), session TEXT DEFAULT null, ratA TEXT DEFAULT null, ratB TEXT DEFAULT null, ratC TEXT DEFAULT null, answer TEXT DEFAULT null, condition TEXT DEFAULT null);'.

我已仔细查看,但找不到任何可以解决我的特定问题的内容。在“创建”语句中可以引用外键的位置是否有限制?感谢您在此问题上提供的任何帮助。

最佳答案

我认为声明的格式应该如下:

col_name1 TEXT REFERENCES table_name ( col_name2 )

所以你可以试试:

KEY_RAT_TASKID + " REFERENCES " + TASKS_TABLE + "(" + KEY_TASKS_TASKID + ")"

关于android SQLite外键错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11218308/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com