我为我的 Android 应用创建了这个类:
public class Database extends SQLiteOpenHelper{
private static final String DB_NAME = "db";
private static final int DB_VERSION = 1;
public Database(Context context) {
super(context,DB_NAME, null, DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String table1="CREATE TABLE users(";
table1+="_id TEXT PRIMARY KEY,";
table1+="city TEXT NOT NULL,";
table1+="name TEXT NOT NULL,";
table1+="info TEXT);";
String table2 = "CREATE TABLE things(";
table2+="id TEXT PRIMARY KEY);";
String table3 = "CREATE TABLE rec(";
table3+="id TEXT PRIMARY KEY,";
table3+="text TEXT NOT NULL,";
table3+="rate INTEGER NOT NULL);";
String table4 = "CREATE TABLE avg(";
table4+="mct TEXT PRIMARY KEY,";
table4+="rec INTEGER NOT NULL,";
table4+="avgrate FLOAT NOT NULL);";
db.execSQL(table1);
db.execSQL(table2);
db.execSQL(table3);
db.execSQL(table4);
}
}
它不会将 table4 写入本地 SQLite 数据库。如果我向任何先前的 db.execSQL(tableX) 添加注释,它就会起作用。 例如,如果我评论 db.execSQL(table2),它会写入 table1、table3 和 table4。 如果我删除注释,它会写 table1、table2、table3... 而没有 table4... 为什么? 好像不能写超过3张表。是否可以?
最佳答案
avg
是 SQLite 中的保留字,因此您最好重命名上一个表。
关于android - 它不会写超过 3 个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25422456/