首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Android中通过COLUMN_NAME_NULLABLE保存数据时是否需要SQLite?

在Android中通过COLUMN_NAME_NULLABLE保存数据时是否需要SQLite?
EN

Stack Overflow用户
提问于 2014-07-08 20:03:00
回答 1查看 1.9K关注 0票数 1

在谷歌提供的基本安卓教程中,关于将信息存入数据库使用insert()函数的部分涉及使用一个名为COLUMN_NAME_NULLABLE的列,该列以前在通过SQLiteOpenDbHelper描述模式或数据库本身时没有列出过,因此我假设它是通过实现BaseColumns自动生成的,类似于_ID列。

然而,根据Eclipse的说法,情况并非如此。因此,这是否意味着在我的初始模式/契约中我必须创建一个列(而这不是由BaseColumns的实现自动生成的)?

此外,这个专栏有什么用?如果没有String "null",它会只包含ContentValues吗?如果ContentValues不是null,它是否仍然是空白的和未使用的?

EN

回答 1

Stack Overflow用户

发布于 2014-07-08 20:31:13

如文档所述,nullColumnHack是

可选;可能为null。SQL不允许在不指定至少一个列名的情况下插入一个完全空的行。如果提供的值为空,则不知道列名,也无法插入空行。如果未设置为null,则nullColumnHack参数提供可空列名的名称,以便在值为空的情况下显式插入NULL。

因此,nullColumnHack将是数据库中可以包含空值的列之一的名称。

如果您确信插入到DB中的contentValues永远不会为null或永远不会只包含null值,则可以将nullColumnHack保留为没有名称,因此为null。

如果尝试插入空ContentValues,它可能会引发错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24640786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档