如果运行时,我的应用程序保持代码行db.execSQL(createOrderTable);
和db.execSQL(createOrderDetail);
(它们使用外键创建两个表),请删除应用程序运行OK。无法在sqlite中使用外键创建表
这是我对onCreate()
方法:
String createUserTable = "create table " + USER_TABLE +
"(userID INTEGER PRIMARY KEY AUTOINCREMENT," +
"userName TEXT NOT NULL," +
"phoneNumber INTEGER);";
String createProductTable = "create table " + PRODUCT_TABLE +
"(productID INTEGER PRIMARY KEY AUTOINCREMENT," +
"department TEXT,"+
"name TEXT," +
"price REAL," +
"status NUMERIC);";
String createOrderTable = "create table " + ORDER_TABLE +
"(orderID INTEGER PRIMARY KEY AUTOINCREMENT," +
"FOREIGN KEY(userID) REFERENCES User(userID)," +
"FOREIGN KEY(productID) REFERENCES Product(productID));";
String createOrderDetail = "create table " + ORDER_DETAIL_TABLE +
"(FOREIGN KEY(orderID) REFERENCES Order(orderID)," +
"customerName TEXT," +
"address TEXT," +
"totalPrice REAL," +
"quantity INTEGER);";
db.execSQL(createUserTable);
db.execSQL(createProductTable);
db.execSQL(createOrderTable);
db.execSQL(createOrderDetail);
这是我为onUpgrade()
:
db.execSQL("DROP TABLE IF EXISTS " + USER_TABLE);
db.execSQL("DROP TABLE IF EXISTS " + PRODUCT_TABLE);
db.execSQL("DROP TABLE IF EXISTS " + ORDER_TABLE);
db.execSQL("DROP TABLE IF EXISTS " + ORDER_DETAIL_TABLE);
onCreate(db);
如何我现在可以创建其他两个表?任何人都可以帮忙感谢!
是否有错误讯息? –
'AdbCommandRejectedException获取设备模拟器-5554的属性:设备脱机'我得到这个,但我不知道它是否与数据库相关联 –