开发者社区> 问答> 正文

android sqlite onUpgrade 中执行了 CREATE TABLE 失败

android sqlite onUpgrade 中执行了 CREATE TABLE if not exists test
(
User_Id BIGINT,
test INTEGER DEFAULT 1,
yuliu0 VARCHAR(200),
yuliu1 BIGINT
);
语句,在事务中执行的,但是事务都已经成功提交了,但是我去看数据库的时候,发现要创建的表,并没有被创建,怎么回事呢?

展开
收起
a123456678 2016-07-18 16:13:47 2399 0
1 条回答
写回答
取消 提交回答
  • private static class DbHelper extends SQLiteOpenHelper{
    
        public DbHelper(Context context) {
            super(context, DATABASE_NAME, null, DATABASE_VERSION);
        }
    
        @Override
        public void onCreate(SQLiteDatabase db) {
            db.execSQL("CREATE TABLE " + DATABASE_TABLE + " (" +
                    KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
                    KEY_NAME + " TEXT NOT NULL, " +
                    KEY_HOTNESS + " TEXT NOT NULL);"
            );  
        }
    
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
            db.execSQL("DROP TABLE IF EXISTS " + DATABASE_TABLE);
            onCreate(db);
        }       
    }
    2019-07-17 19:58:01
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载