android 外键,android - 创建一个具有外键的sqlite数据库表,作为android中的表列。 我面临以下错误。 我该如何解决 - 堆栈内存溢出...
創(chuàng)建表的代碼:
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);
}
錯(cuò)誤:
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位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的android 外键,android - 创建一个具有外键的sqlite数据库表,作为android中的表列。 我面临以下错误。 我该如何解决 - 堆栈内存溢出...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 退役军人优待证和退伍军人优待证有区别吗?
- 下一篇: MysqlDataTruncation