当前位置:   article > 正文

Android Room 数据库升级 新建表注意事项_android room create table

android room create table

注意事项:

数据库建表语句要跟定义的数据类字段属性是否为空要一致。

一、定义数据类

1.1、数据类属性可以为空时如下所示,类型名称后面带符号“?”:

val prevKey: Int?

1.2、数据类属性不可以为空时如下所示:

val tId: String

二、创建数据库表

2.1、字段数据可以为空

`prevKey` INTEGER

2.2、段属性不可以为空

`tId` TEXT NOT NULL

三、代码块示例

3.1、定义完整数据库的数据类如下所示:

  1. @Entity(tableName = "remote_keys")
  2. data class RemoteKeys(
  3. @PrimaryKey val tId: String,
  4. val prevKey: Int?,
  5. val nextKey: Int?
  6. )

3.2、定义完整数据库升级,创建某张表的方法如下所示:

  1. val MIGRATION_3_4 = object : Migration(3, 4) {
  2. override fun migrate(database: SupportSQLiteDatabase) {
  3. database.execSQL(
  4. "CREATE TABLE `remote_keys` (`tId` TEXT NOT NULL, `prevKey` INTEGER, `nextKey` INTEGER, PRIMARY KEY(`tId`))"
  5. )
  6. }
  7. }

四、其他

数据库升级时,对表添加属性字段同理,也需要注意字段是否可以为空的处理。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/477718
推荐阅读
相关标签
  

闽ICP备14008679号