Android:插入带有自动增量列的sqlite记录

2023-11-25

我在 android 上创建了一个 sqlite 数据库,如下所示:

sqlite> .schema
CREATE TABLE criterion ('_id' INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, active text, important text, sort int, summary text, user text, category_id int, entrytype int);

我可以将记录插入到该表中的唯一方法是指定一个值_id我想自动递增。这是我可以让插入工作的唯一方法:

recid = totalrecs + 1;
String q = "insert into criterion (_id, active, important, sort, summary, user, category_id, entrytype) values (" + recid + ", \"1\", \"0\", 99, \"foobar\", \"1\", 99, 0)";
Log.d (TAG, "query:" + q);
mDb.execSQL (q);

如果我保留 _id 列并且不指定 _id 的值,则会收到错误:

android.database.sqlite.SQLiteConstraintException: criterion._id may not be NULL: insert into criterion(active, important, sort, summary, user, category_id, entrytype) values ("1", "0", 99, "foobar", "1", 99, 0)

如何安排查询(或架构)以便 Android 负责递增_id柱子?

更新/修复了上面的 2 行(删除了 NOT NULL,从查询中删除了 _id):

CREATE TABLE criterion ('_id' INTEGER PRIMARY KEY AUTOINCREMENT, active text, important text, sort int, summary text, user text, category_id int, entrytype int);

String q = "insert into criterion (active, important, sort, summary, user, category_id, entrytype) values (\"1\", \"0\", 99, \"foobar\", \"1\", 99, 0)";

从模式中删除 NOT NULL,你就成功了。

澄清: 在自动增量列上指定 NOT NULL 会使自动增量不起作用。 NOT NULL 是造成它的原因,因此您必须指定 _id。

一旦您删除它,并且不在插入语句中包含 _id,SQL 将接收 _id 作为 NULL 并自动为您处理设置 _id。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android:插入带有自动增量列的sqlite记录 的相关文章

  • SQLite 使用循环重新编号 ID

    您好 我有一个包含许多插入行的表 我需要按 id 对所有行重新编号并排序 我找到了这段代码 但它对我不起作用 SET i 100 UPDATE main Categories SET ID i i 1 WHERE Name White AL
  • Android 应用程序安装失败:包 com.my.app 在条目 AndroidManifest.xml 处没有证书

    在 Android Studio 中 我生成了带有密钥库等的签名 APK 将 APK 安装到设备上时失败 并显示 无法安装应用程序 并且在 Android Monitor 中我看到以下行 Package com my app has no
  • 使用 Fragment 在工具栏中实现 SearchView

    当前情况 我的应用程序主页由导航抽屉组成 因此我将视图作为片段加载 我的工具栏中也有搜索图标 我在中实现了它menu xml 下一步我实施了SearchView通过以下问题的答案来获取搜索图标在工具栏中实现搜索 https stackove
  • 退出设备上的 system.img

    我正在为我们部署给客户的设备 LG p509 Optimus 1 开发自动应用程序更新解决方案 我们可以控制这些设备 并且目前在它们上安装自定义内核 但不是完整的自定义 ROM 由于我们试图在设备上自动更新我们的应用程序 因此我们需要由我们
  • 华为手机“受保护的应用程序”设置及处理方法

    我有一台搭载 Android 5 0 的华为 P8 用于测试应用程序 该应用程序需要在后台运行 因为它跟踪 BLE 区域 我发现华为内置了一个名为 受保护的应用程序 的 功能 可以从手机设置 电池管理器 gt 受保护的应用程序 访问该功能
  • 需要 Android webview window.open() 和 window.close() 的信息

    我正在开发一个安卓应用程序 这是我网站的 WebView 该网站包含一个弹出按钮 单击该按钮后 将打开一个新窗口并显示内容 该链接可以来自外部站点 然而 当我实现此操作时 新选项卡正在打开 之后它会弹出以打开浏览器 尽管在 Web 视图中打
  • 错误类型 3 - 活动类不存在

    我正在尝试运行 webRTC 应用程序 但返回以下错误 启动应用程序 com onlinevoicecallapp com onlinevoicecallapp MainActivity 设备外壳命令 am start n com onli
  • React Native Expo StackNavigator 重叠通知栏

    我正在尝试为我的 React Native Expo 应用程序实现导航栏 这里有一个问题 dependencies expo 18 0 3 react 16 0 0 alpha 12 react native 0 45 1 react na
  • Android -room 持久库 - DAO 调用是异步的,因此如何获取回调?

    从我读到的Room 不允许您在主线程上发出数据库查询 因为可能会导致主线程延迟 所以想象一下我正在尝试更新 UI 主线程上的文本视图 其中一些数据我将如何得到回调 让我给你举个例子 想象一下 我想将我的业务模型数据存储到一个名为 事件 的对
  • 选项卡主机内的 Android Fragment 视图状态 [重复]

    这个问题在这里已经有答案了 可能的重复 使用 Fragment 为 Android 中的每个选项卡单独的返回堆栈 https stackoverflow com questions 6987334 separate back stack f
  • 在新的 intel x86 android 模拟器中访问 google api

    我只是尝试在新的 x86 android 模拟器中运行我公司的应用程序 但是我们的应用程序依赖于 google 地图 API 而这在 google 随 android sdk 版本 17 提供的 x86 系统映像中不可用 我的直觉告诉我答案
  • 控制 OverlayItem 大小

    我正在构建一个在单个 ItemizedOverlay 中包含几十个 OverlayItems 的地图 我的地图设计为可以非常近距离地查看 大约缩放级别 18 并且 OverlayItems 彼此非常接近 地图放大时看起来不错 但是 如果用户
  • 移动设备上的 TensorFlow(Android、iOS、Windows Phone)

    我目前正在寻找不同的深度学习框架 特别是用于训练和部署卷积神经网络 要求是 它可以在带有 GPU 的普通 PC 上进行训练 但训练后的模型必须部署在三个主要的移动操作系统上 即 Android iOS 和 Windows Phone Ten
  • sql直接获取表行数的方法

    stackoverflow 的朋友们大家好 我的例行程序中有一个我认为不必要的步骤 假设您想从图库中获取所有图像 并限制每页一定数量的图像 db PDO object start pagenum x images per page limi
  • 如何通过 Android 按钮单击运行单独的应用程序

    我尝试在 Android 应用程序中添加两个按钮 以从单独的两个应用程序订单系统和库存系统中选择一个应用程序 如图所示 我已将这两个应用程序实现为两个单独的 Android 项目 当我尝试运行此应用程序时 它会出现直到正确选择窗口 但是当按
  • 受信任的网络活动 - 地址栏不隐藏(Android 72 的 Chrome)

    我已经关注了this https developers google com web updates 2017 10 using twa了解如何使用受信任的 Web 活动的指南 一切正常 但地址栏仍然出现 一开始我认为这是因为当应用程序正在
  • 如何将样式应用于我拥有的所有 TextView? [复制]

    这个问题在这里已经有答案了 可能的重复 设计所有 TextView 或自定义视图 的样式 而不向每个 TextView 添加样式属性 https stackoverflow com questions 6801890 styling all
  • fs-extra:源和目标不能相同。 (科尔多瓦)

    我在使用 cordova 构建时遇到错误 Error Source and destination must not be the same 构建系统 Ionic ionic cli 4 10 1 ionic framework ionic
  • ECDH使用Android KeyStore生成私钥

    我正在尝试使用 Android KeyStore Provider 生成的私有文件在 Android 中实现 ECDH public byte ecdh PublicKey otherPubKey throws Exception try
  • Android MulticastSocket.joinGroup 不会触发发送 IGMP 消息

    Code MulticastSocket s new MulticastSocket InetAddress addr InetAddress getByName 230 230 230 1 s joinGroup addr 在 Ubunt

随机推荐

  • AWSGlue AccessDeniedException,状态代码 400

    我正在尝试为数据工程项目构建数据管道 在S3 Glue Athena等的帮助下 我在设置胶水爬虫以对数据进行索引时陷入困境 即使我根据需要设置了角色 但仍然出现以下错误 service AWSGlue statusCode 400 erro
  • 为什么“rgb (224, 226, 213)”是无效的属性值?

    为什么任何浏览器都不能应用此颜色 RGB 规则 HTML
  • Instagram 位置/搜索端点不支持分页,这是否正确?

    我读过几篇关于 Instagram API 一次仅返回 20 个结果的帖子 在很多情况下 人们建议您只需使用分页信息中返回的下一个 URL 即可 我对此没意见 但是返回的 JSON https api instagram com v1 lo
  • 如何查找R包中的所有函数?

    查找包中关联的所有函数的最佳方法是什么 我目前正在浏览 caTools 包 如果我做 caTools or caTools我只是要搜索调用该函数的函数 而不是包中的函数 有没有一种简单的方法可以访问 R gui 中的所有功能 有什么好的方法
  • 集合 <__NSArrayM: 0x76c11b0> 在枚举时发生了变化

    我对 obj c 比较陌生 所以我一定错过了一些东西 但是当敌人与墙壁碰撞时我的程序崩溃了 我已经找到了将敌人从循环中移除的位置 而在循环中 但对于我的一生 我不知道如何解决它 我的代码如下 错误是 allEnemies removeObj
  • getChildView 没有被调用

    我正在制作一个包含自定义 ExpandableListView 适配器的菜单 尽管尝试将我的代码与 API 示例和我在网上看到的任何其他示例 包括多个密切相关的 SO 问题 进行匹配 但我仍然无法使其工作 我知道正在使用适配器 因为正在显示
  • 如何防止rawproto文件生成或自动删除它们?

    Android gradle 插件生成大量 rawproto文件在build android profile目录 它们有什么用 有没有办法阻止这种疯狂或自动删除它们 我已经被它困扰了很长一段时间 现在我注意到有 GB 的内存占用了我小小的
  • 获取 java.rmi.UnmarshalException:无法识别的方法哈希:远程对象不支持方法

    我是 RMI 技术的新手 当我运行 rmi 客户端程序时 出现异常 java rmi UnmarshalException 无法识别的方法哈希 远程对象不支持方法 我使用的是jdk1 5 远程方法的参数是序列化对象 这些是服务器代码 这是远
  • javascript 音频加载

    我做了一个 javascript 音频测试 所有函数都可以在 Opera FF 和 Chrome 中使用 除了 audio oncanplaythrough 和 audio onend 这两个函数在 Chrome 上不起作用 a href
  • Android 设备有唯一的 ID 吗?

    Android 设备是否有唯一的 ID 如果有 使用 Java 访问它的简单方法是什么 Settings Secure ANDROID ID返回 Android ID 作为每个用户都是唯一的64 位十六进制字符串 import androi
  • 重命名多个匹配模式的目录

    我想重命名 basedir 下与名称匹配的所有目录 例如 In basedir 我有 foo bar blah my bar foo some bar foo1 other foo bar 我想重命名所有匹配的目录bar 但我想保留前缀部分
  • 为什么 MATLAB 中的 24.0000 不等于 24.0000?

    我正在编写一个程序 需要删除存储在矩阵中的重复点 问题是 当检查这些点是否在矩阵中时 MATLAB 无法识别矩阵中的它们 尽管它们存在 在下面的代码中 intersections函数获取交点 points 1 points 2 inters
  • Python xlrd:如何转换提取的值?

    好吧 我有一个问题 从我在这里发现的内容来看 我觉得我已经回答了好几次了 然而 作为一个新手 我无法真正理解如何执行真正的基本操作 事情是这样的 我有一个 xls当我使用 xlrd 来获取我只是使用的值时sh cell 0 0 假设 sh
  • 程序“node.exe”无法在 Visual Studio 代码中运行

    当我在 CMD 中运行节点代码时 它工作正常 但在 VS code 终端中出现错误 gt PS D MyApps NodeSession gt npm v 6 4 1 gt PS D MyApps NodeSession gt node v
  • Django AttributeError“datetime.date”对象没有属性“utcoffset”

    我是 Django 的新手 如果问题的解释看起来很奇怪 我很抱歉 我在 Django 项目中创建了一个博客应用程序 模型 py from django db import models class Blog models Model tit
  • 我可以将匿名类型序列化为 xml 吗?

    我知道匿名类型被编译器标记为私有 并且属性是只读的 有没有办法将它们序列化为 xml 无需反序列化 它使用 JSON 我怎样才能用 XML 做到这一点 像这样的事情应该让你开始 class Program static void Main
  • 检查元素是否已被单击或更改

    我有一个愚蠢的问题 我想我已经知道答案 但我想从比我拥有更多 jquery 知识的人那里找到答案 我有一个下拉列表 我想知道是否可以检查 ddl 是否已被单击或更改 例子 If ddl click ddl on change do some
  • Xcode 4.2 如何将一个项目包含到另一个项目中?

    我继续寻找 但找不到关于如何将一个 XCode 项目及其所有子类包含到另一个项目中的清晰而简单的解释 我经常在从网上下载的示例项目中看到类似的东西 但我自己不知道如何做到这一点 在 XCode 中 除了 h 和 m 文件以及文件夹之外 还有
  • “来自整数的指针/来自没有强制转换的指针的整数”问题

    这个问题旨在成为整数和指针之间所有初始化 赋值问题的常见问题解答条目 例如 我想编写将指针设置为特定内存地址的代码0x12345678 但是 当使用 gcc 编译器编译此代码时 我收到 初始化从整数生成指针而不进行转换 警告 错误 int
  • Android:插入带有自动增量列的sqlite记录

    我在 android 上创建了一个 sqlite 数据库 如下所示 sqlite gt schema CREATE TABLE criterion id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL