android 外键,android - 创建一个具有外键的sqlite数据库表,作为android中的表列。 我面临以下错误。 我该如何解决 - 堆栈内存溢出...
创建表的代码:
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中的表列。 我面临以下错误。 我该如何解决 - 堆栈内存溢出...的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 退役军人优待证和退伍军人优待证有区别吗?
- 下一篇: MysqlDataTruncation