欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > 数据库 >内容正文

数据库

android 外键,android - 创建一个具有外键的sqlite数据库表,作为android中的表列。 我面临以下错误。 我该如何解决 - 堆栈内存溢出...

发布时间:2024/10/8 数据库 47 豆豆

创建表的代码:

public static final String CREATE_USER_TABLE = "CREATE TABLE " + USER +

"("

+ KEY_USER_ID + " INTEGER PRIMARY KEY AUTOINCREMENT,"

+ KEY_USERNAME + " TEXT,"

+ KEY_MOBILE_NUMBER + " TEXT,"

+ KEY_EMAIL + " TEXT,"

+ KEY_USER_DISABLES + " TEXT,"

+ KEY_USER_PASSWORD + " TEXT" +

")";

public static final String CREATE_DEVICE_TABLE="CREATE TABLE " + DEVICE +

"("

+ KEY_DEVICE_ID + " INTEGER PRIMARY KEY AUTOINCREMENT,"

+ KEY_DID + " TEXT,"

+ KEY_DEVICE_NAME + " TEXT,"

+ KEY_DEVICE_DISABLES + " TEXT" +

")";

public static final String CREATE_USER_DEVICE_TABLE= "CREATE TABLE " + USER_DEVICE + " ("

+ KEY_USER_DEVICE_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, "

+ KEY_USER_DEVICE_DISABLES + " TEXT, "

+ KEY_UD_USER+ " INTEGER NOT NULL , FOREIGN KEY ("+KEY_UD_USER+") REFERENCES "+USER+" ("+KEY_USER_ID+"),"

+ KEY_UD_DEVICE+ " INTEGER NOT NULL , FOREIGN KEY ("+KEY_UD_DEVICE+") REFERENCES "+DEVICE+" ("+KEY_DEVICE_ID+"));";

@Override

public void onCreate(SQLiteDatabase db) {

/* creating user table */

db.execSQL(CREATE_USER_TABLE);

/* creating device table */

db.execSQL(CREATE_DEVICE_TABLE);

/* creating user-device table */

db.execSQL(CREATE_USER_DEVICE_TABLE);

}

错误:

Caused by: android.database.sqlite.SQLiteException: near "u_id": syntax error (code 1): ,

while compiling: CREATE TABLE user_device (did INTEGER PRIMARY KEY AUTOINCREMENT,

false TEXT, d_id INTEGER NOT NULL ,

FOREIGN KEY (d_id) REFERENCES users (id),u_id INTEGER NOT NULL ,

FOREIGN KEY (u_id) REFERENCES device (id));

与50位技术专家面对面20年技术见证,附赠技术全景图

总结

以上是生活随笔为你收集整理的android 外键,android - 创建一个具有外键的sqlite数据库表,作为android中的表列。 我面临以下错误。 我该如何解决 - 堆栈内存溢出...的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。