Android不能直接删除表中的某个字段,可以通过以下四步实现这个功能。

  1. 创建一个新表,只设定想要的字段

2. 将原来表中的数据复制过来,

3. 将原表删除

4. 将新建的表改名

package com.cdc.viewModel;
import android.content.Context;import androidx.annotation.NonNull;
import androidx.room.Database;
import androidx.room.Room;
import androidx.room.RoomDatabase;
import androidx.room.migration.Migration;
import androidx.sqlite.db.SupportSQLiteDatabase;
@Database(entities = {Word.class},version=5,exportSchema = false)
public abstract class WordDataBase extends RoomDatabase {private static WordDataBase INSTANCE;//单例模式public static synchronized WordDataBase getInstance(Context context){if(INSTANCE==null){INSTANCE= Room.databaseBuilder(context.getApplicationContext(),WordDataBase.class,"Word_database")//.allowMainThreadQueries() 强制要求在主线程运行(真实环境中不使用)//.fallbackToDestructiveMigration()//破坏试的迁移.原有的数据被清空,重新建立新表.addMigrations(MIGRATION_4_5).build();}return INSTANCE;}public abstract WordDao getWordDao();//版本号  3到4static final Migration MIGRATION_3_4=new Migration(3,4) {@Overridepublic void migrate(@NonNull SupportSQLiteDatabase database) {//没有布尔值,用INTEGER代替//使用"ALTER TABLE Word  ADD COLUMN bar_data2 INTEGER  NOT NULL DEFAULT 1"出错。//使用下面分开的形式,可以正确执行database.execSQL("ALTER TABLE Word "+" ADD COLUMN bar_data2 INTEGER "+" NOT NULL DEFAULT 1");}};//版本号  4到5  没有办法直接删除某一列。可以通过以下四步完成删除某一列的效果static final Migration MIGRATION_4_5=new Migration(4,5) {@Overridepublic void migrate(@NonNull SupportSQLiteDatabase database) {//1.创建一个新表WordTemp,只设定想要的字段database.execSQL("CREATE TABLE WordTemp "+"( id  INTEGER "+" PRIMARY KEY NOT NULL ,"+" english_word TEXT ,"+" chinese_meaning TEXT "+" ) ");//2.将原来表中的数据复制过来,database.execSQL(" INSERT INTO WordTemp (id,english_word,chinese_meaning) " +"SELECT id,english_word,chinese_meaning  FROM Word ");//3. 将原表删除database.execSQL(" DROP TABLE Word ");//4.将新建的表改名database.execSQL(" ALTER  TABLE WordTemp  RENAME to Word");}};
}

删除某个字段_Android中Room的使用4_删除一个字段相关推荐

  1. php 二维数组字段合并,PHP将二维数组某一个字段相同的数组合并起来的方法,二维数组数组_PHP教程...

    PHP将二维数组某一个字段相同的数组合并起来的方法,二维数组数组 本文实例讲述了PHP将二维数组某一个字段相同的数组合并起来的方法.分享给大家供大家参考,具体如下: 例子: array(3) { [0 ...

  2. oracle通过值查字段,Oracle 中 根据值 查询 所在 表和字段

    -------------------- -- 这里是查询 数字型字段值 /*declare CURSOR cur_query IS select table_name, column_name, d ...

  3. mysql 排除字段_mysql中select某表时排除个别字段,shell实现

    在使用mysql的日常生活中,偶尔会有一些奇奇怪怪的需求,例如实现类似:select * EXCEPT password,address from users; 要想从users信息表中查询用户信息, ...

  4. java 删除文件失败_java中File的delete()方法删除文件失败的原因

    一般来说 java file.delete失败 有以下几个原因 1.看看是否被别的进程引用,手工删除试试(删除不了就是被别的进程占用) 2.file是文件夹 并且不为空,有别的文件夹或文件, 3.极有 ...

  5. mysql 中将表中某一字段值查询出来,更新到另一个字段上的SQL写法

    场景:想要将receiveTime的值赋给create_time,此时涉及到同表"自更新"的操作 1.错误示例 update order_info set create_time ...

  6. oracle 如何删除表列,Oracle中增加,修改,删除表中的列

    内核对TCP REUSEPORT的优化 Q&A 当有人问起我关于reuseport的一些事的时候,我们的对话基本如下:Q1:什么是reuseport?A1:reuseport是一种套接字复用机 ...

  7. MYSQL WHERE 当一个字段不为NULL的时候使用另一个字段判断

    AND ((tmp.delivery_time IS NULL AND bod.taking_date >= #{vo.takingStart})OR(tmp.delivery_time IS ...

  8. 在mysql中删除表中字段_MySQL中的表中增加删除字段

    1.增加一个字段 alter table user表 add COLUMN new1字段 VARCHAR(20)   NOT NULL DEFAULT 0; //增加一个字段,VARCHERA 20 ...

  9. 同名字的数值求和插入行_中望CAD2021:支持表格和字段插入公式,提高数据处理效率...

    表格是dwg文档中常见的图形元素,设计师通过表格可清晰地展示一系列数据信息. 为提高设计师处理数据的效率,中望CAD2021提供了在表格和字段中插入公式的功能,设计师使用公式即可自动计算并显示具有关联 ...

最新文章

  1. hdu1160FatMouse's Speed(DP)
  2. (转)男人的真?。。。
  3. Linux正则和grep命令
  4. fiddler设置中文版本_突破安卓7.0以上版本WX小程序抓包篇
  5. 【干货】美团大脑系列之商品知识图谱的构建及应用.pdf(附下载链接)
  6. Oracle笔记整理
  7. mongodb java 不等于_mongoDB在java上面的应用
  8. Android请求麦克风权限+系统权限页面回调
  9. python caffe框架_Caffe(卷积神经网络框架)配置-Windows篇
  10. MATLAB绘制垂直正态分布密度曲线
  11. 如何将win7系统的电脑屏幕改成护眼的豆沙绿
  12. openwrt-mt7628 wds配置
  13. 如何保障企业邮箱安全
  14. 动态规划:奶牛吃草问题
  15. JAVA多线程解决哲学家问题(GUI演示)
  16. 大一计算机论文_大一计算机论文大纲模板范文 大一计算机论文提纲怎样写
  17. medusa命令介绍
  18. vbs:模拟键盘操作和在指定窗口进行操作
  19. fing网络扫描仪android,Fing网络扫描仪
  20. Arch Linux遇到的坑(下)

热门文章

  1. myeclipse自定义java注释
  2. oracle数据块一致性检查的4种方法
  3. java实验二 类和对象
  4. xSeries 232双机热备份配置(塔式)
  5. Angular ngTemplateOutlet
  6. while循环与for循环
  7. python_day9 异常处理
  8. python 调用mysql存储过程返回结果集
  9. Apache的多处理模块MPM
  10. 万源之源之drupal7