SQLite 数据库创建时自动增量附近的语法错误

2024-01-06

又是我,那个使用 SQLite-net 的人。当我的表主键上没有自动增量时,我的代码可以正常工作。我想自动增量键,所以我像这样重建了表:

using SQLite;

namespace VehicleTracks.Models
{
    public class vehicles
    {
        [PrimaryKey, AutoIncrement]
        public int ID { get; set; }
        public string VehID { get; set; }
        public string VehYear { get; set; }
        public string VehMake { get; set; }
        public string VehModel { get; set; }
        public string VehColor { get; set; }
        public string EngineID { get; set; }
        public System.DateTime PurchaseDate { get; set; }
        public string SellerName { get; set; }
        public string SellerStreet { get; set; }
        public string SellerCityStateZip { get; set; }
        public string VehOptions { get; set; }
        public string OdomInitial { get; set; }
        public string VehBodyStyle { get; set; }
        public float PurchaseCost { get; set; }
        public byte[] VehPhoto { get; set; }
        public string VehType { get; set; }
        public string Sold { get; set; }
    }
}

现在,当尝试创建表时,我收到“自动增量附近的语法错误”。我尝试关闭自动增量,但如果没有它,它似乎不会增加 ID。

我可能错过了一些愚蠢的事情。


你的代码没有什么愚蠢之处;与代码示例匹配https://github.com/praeclarum/sqlite-net https://github.com/praeclarum/sqlite-net好吧。但考虑到类似的问题,显然代码示例是错误的:

Android 表创建失败(接近“自动增量”:语法错误)? https://stackoverflow.com/questions/7594541/android-table-creation-failure-near-autoincrement-syntax-error

通过删除自动增量解决了该问题。或者引用http://www.sqlite.org/faq.html#q1 http://www.sqlite.org/faq.html#q1 :

简短回答:声明为 INTEGER PRIMARY KEY 的列将自动增量。

(请仔细检查该列是否ID实际上有类型INTEGER PRIMARY KEY创建表后。)

更长的答案:如果您将表的一列声明为 INTEGER PRIMARY KEY,那么每当您将 NULL 插入表的该列时,NULL 都会自动转换为一个整数,该整数比该列的最大值大 1表中的所有其他行,如果表为空,则为 1。

确保您的INSERT语句不包含显式值(除了NULL) 对于列ID,否则该列不会自动递增。如果这在 SQLite-net 中不可能(您可能需要一个调试器),那么这很可能是一个错误。尽管令人惊讶的是没有其他人遇到过这种情况。

也许你需要创造财产ID可空(即使用类型int?;是的,带问号)。请注意,我只是在这里猜测;你可能需要尝试一下。

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

SQLite 数据库创建时自动增量附近的语法错误 的相关文章

  • 使用随机主键创建 django 对象

    我正在使用一个 API 它希望我使用其 API 为交易生成不透明的 参考 ID 换句话说 用户无法以任何方式猜测或推断的唯一参考 推断 是正确的英语吗 这是我目前一起破解的 randomRef randint 0 9999999999999
  • SQL - 插入一行并返回主键

    我已在存在主键的表中插入了包含一些数据的行 如何 SELECT 刚刚插入的行的主键 我应该更具体地提到我目前 使用 SQLite 对于 MS SQL Server SCOPE IDENTITY http msdn microsoft com
  • Django 加密 url 中的主键

    我环顾四周 但仍然对如何安全地加密 django 应用程序的 url 中的主 ID 感到不舒服 我的网址如下 http www example com primary1 id primary2 id testing 例如 http www
  • 在MySQL中使用存储过程时遇到两个问题

    下面是我正在其中进行利息计算的存储过程的示例代码 该代码不可执行 因为根据在游标声明之前定义创建临时表块时发现其获取问题 但如果我最近在游标声明之后定义了相同的内容 那么它会成功执行 1 我的问题是我在光标内使用该表 所以我必须在光标后定义
  • MySQL 中的复合主键性能缺陷

    我们有一个表 其复合主键由三个字段组成 在 MySQL 5 1 中 该表每秒有近 200 次插入和 200 次选择 表的大小约为 100 万行 并且还在不断增加 我的问题是 复合主键 是否会降低该表上的插入和选择的性能 我应该使用简单的自动
  • 关闭mysql不安全语句警告

    我正在使用日志错误将警告 错误写入文件 当我执行 INSERT IGNORE SELECT 语句时 它只是继续写入此警告消息 120905 3 01 23 Warning Unsafe statement written to the bi
  • 使用包含单行分区的 Cassandra 表是一种不好的做法吗?

    假设我有一张这样的桌子 CREATE TABLE request transaction id text request date timestamp data text PRIMARY KEY transaction id 据我了解 tr
  • 如何覆盖 ruby​​ on Rails 4.0.+ 中的默认主键列?

    我已经有一个现有的数据库架构 其中的表以字符串列作为主键 还有一些表以多个列作为键 我想在 Rails 中映射此架构 但我不知道如何覆盖默认主键 由 Rails 框架创建的列 id 您可以像这样覆盖主键 class Book lt Acti
  • 当我们的表不需要主键时? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我们会设计一个不需要主键的表吗 No 主键在幕后做了很多事情 即使您的应用程序从不使用它 例如 聚类 http blogs oracle com
  • 一张 Microsoft SQL 表可以有多个主键吗?

    我一直很好奇 但找不到简洁的答案 有什么帮助吗 它不能有超过一个首要的关键 但是 它的主键中可以有多于一列 它也可以有多个唯一索引 通常 唯一索引是主键 但单个表上可以有多个唯一索引 我一时想不出一个例子 但当我想到的时候我会添加它 EDI
  • Fluent NHibernate 主键约束命名约定

    有没有办法在 Fluent NHibernate 中为我的主键约束创建命名约定 我知道您可以命名外键约束 但似乎不可能命名主键约束 FNH 的 James Gregory 说 不 NHibernate 不支持这一点 因此我们也无法支持它 h
  • Oracle - 返回新插入的键值

    我们有一个带有主键的表 该表在插入时由表上的触发器填充 触发器从我们为表创建的序列中获取下一个序列号 并将其用作插入时键的值 现在我们希望能够在插入过程 PL SQL 中返回该值 类似于 SQL Server 中的 select scope
  • Oracle 主键:NUMBER 与 NUMBER(7,0)

    指定 PK 的精度有什么好处吗 鉴于记录可能永远不会超过几千条 7 0 是否足够 不指定精度有什么危险吗 NUMBER 7 0 只是限制了值域 它们的内部表示没有不同 CREATE TABLE t pk col1 NUMBER 7 0 NO
  • 如何向 Rails 中的表追溯添加主键?

    我创建了一个没有主键的表 id gt false 但现在它又回来了 我的应用程序已经投入生产 我不能只是放弃它并重新创建另一个应用程序 有没有办法运行迁移以将另一个自动增量主键列添加到我的表中 在迁移中添加主键的命令是 add column
  • PHP MySQL 检查表是否有主键

    我将查询 MySQL 服务器来检查表是否有主键 就像是 if mysql send SELECT TABLE table HAS PRIMARY KEY TRUE do stuff here SHOW INDEXES FROM TABLE
  • Rails 中的多列主键

    我正在尝试将桌面应用程序迁移到rails 还处理相当老式的现有数据库 问题是我在一列中没有唯一的 ID 但表的三列保证了记录的唯一性 鉴于我有三个表 authors author name author letter author nr1
  • SQL:将现有列设置为 MySQL 中的主键

    我有一个包含 3 列的数据库 id name somethingelse 该表没有设置索引 我收到 未定义索引 在 phpmyadmin 中id 是一个 7 位字母数字值 每行都是唯一的 我想将 Drugid 设置为主键 索引 我不知道有没
  • 外键引用多个表

    我有4张桌子 A ida name B ida B specific stuff C ida C specific stuff D ida D specific stuff 我希望另一个表 E 可以仅引用 B 或 C 而不是 D 我可以在其
  • Join 表(关联表)有主键吗?多对多关系

    Join 表 关联表 有主键吗 多对多的关系 我见过一些带有主键的连接表 一些没有 有人可以解释一下连接表中何时会有主键吗 为什么 先感谢您 在纯 联接 或联结表中 所有字段都将成为主键的一部分 例如 让我们考虑下表 CREATE TABL
  • 同时使用 GUID 和自动递增整数

    我一直在研究使用 GUID 作为数据库中的主键 到目前为止 利似乎大于弊 然而 我发现 GUID 可能不是我想要的 在我的应用程序中 用户应该能够根据用户友好的 ID 来识别对象 因此 例如 如果他们想要获取特定产品而不输入全名 则可以使用

随机推荐

  • Word2vec - 获取相似度排名

    鉴于我有一个 word2vec 模型 由 gensim 提供 我想获得单词之间的排名相似度 例如 假设我有 desk 这个词 与 desk 最相似的词是 表0 64 椅子0 61 预订 0 59 铅笔0 52 我想创建一个函数 f 桌子 书
  • Simulink - 每 30 秒输出 1,否则输出 0

    我需要一个需要每隔 30 秒或略超过 30 秒输出 1 的子系统 用matlab代码编写它应该像这样工作 function y fcn time uplinkTimeInterval codegen persistent lastTrigg
  • mod_rewrite 中的正则表达式匹配不以 this OR that 结尾的 URL

    这个的正则表达式是什么 匹配 if 字符串 NOT 结束于 php或结束于 html或包含 谢谢你 编辑 我需要NOT部分是因为该表达式将用于 Apache mod 重写 因为我无法更改的逻辑mod rewrite以避免NOT 编辑 我最初
  • 如何解决读取日历或发送邮件时 Microsoft Graph 返回“NoPermissionsInAccessToken”的问题

    在我们部门内 我们有一个经典 ASP 网站 该网站一直使用我们的公司 Google 帐户进行身份验证并将事件插入我们的 Google 日历 该组织刚刚从 Google 切换到 Office 365 我尝试将代码切换为使用 Outlook 但
  • 使用 addNA() 后查找 NA 值

    我有一个包含一堆分类变量的数据框 其中一些包含 NA 我使用addNA函数将它们转换为显式因子水平 当我尝试将它们视为 NA 时 我的问题就出现了 它们似乎没有注册 这是我的示例数据集并尝试 查找 NA df1 lt data frame
  • 在android上模拟鼠标输入

    想象一下 我有一个从蓝牙设备接收坐标的服务 现在我想在鼠标光标移动时显示它 我设法使用 toolType TOOL TYPE MOUSE 发送 MotionEvents 但我没有在屏幕上显示本机 Android 鼠标光标 我发送的事件如下所
  • 在应用程序中使用 exoplayer 库播放 YouTube 视频

    我已经使用 exoplayer 库在我的应用程序中播放视频 但我无法使用 exoplayer 播放 youtube 视频链接 我遇到以下异常 ExoPlayerImplInternal 源错误 com google android exop
  • Android Min SDK Version 和 Max SDK Version 设置

    我有一个应用程序 只想安装在 ICS 上 所以我设置了最小和最大 sdk 版本如下
  • 为什么未定义的常量的计算结果为 true?

    愚蠢的问题 我很惊讶这个咬了我 为什么 PHP 中未定义的常量的计算结果为 true 测试用例 上面的示例打印 嗯 非常感谢你的帮助 Try defined WHATEVER THIS ISNT DEFINED 当 PHP 遇到未定义的常量
  • Google 电子表格以三个单元格为条件

    我一直在尝试在我的电子表格上实现一个条件 基本上是一个包含三个条件单元格的检查表 其中包含 是 或 否 我想要实现的所有目标 使用 onEdit 是所有三个单元格都包含 是 输入下一列以及输入最终 是 的日期 我已经设法创建了其他运行良好的
  • 通过 Javascript 从 API 下载 PDF

    我正在使用 vue js 并找到了一些如何实现这一点的好例子 目前我的 API 返回一个 test pdf snappy App make snappy pdf html h1 Bill h1 p You owe me money dude
  • Heroku 架构加载:数据库“postgres”用户的权限被拒绝

    我正在尝试将 Rails 应用程序部署到 Heroku 现在想要加载我的架构 我收到以下错误 Running bundle exec rake db schema load attached to terminal up run 1533
  • 如何告诉 Play Framework 2 和 Ebean 保存空字段?

    我正在使用 Play Framework 2 和 Ebean 当用户提交表单来编辑数据库中的现有对象时 它不会保存空值 我想这是为了防止用 null 覆盖表单中不存在的字段 但是 如果需要的话 我怎样才能让他们将表单中的字段设置为空呢 例如
  • 管道:错误的文件描述符

    我知道以前有人问过这类帖子 但他们的水平显然比我想象的要高 读完他们的帖子后我仍然不明白 所以我决定从这里再次发布这个问题 我正在学习使用管道进行多进程通信 我遇到了这个名为 错误文件描述符 的错误 我不明白为什么我的代码中会出现此错误 i
  • 文本索引 MongoDB,搜索字符串的最小长度

    我已经从 mongo shell 为集合 X 创建了一个文本索引 db X ensureIndex name text cusines text address city text 现在如果一个文档的 name 属性有一个值seasons
  • 响应式设计中的固定位置

    我正在使用响应式框架 1140px 在移动版本中 我必须修复徽标的位置 但不能使其与滚动内容重叠 基本上固定位置但不固定滚动图像 这可以实现吗 你想使用position absolute position fixed将元素固定在屏幕上 因此
  • java中通过HTTP Get下载文件

    我编写了一个下载 Servlet 以根据 messageID 参数返回文件 下面是 doGet 方法 Override protected void doGet HttpServletRequest request HttpServletR
  • 使用 Visual Basic 在 Windows 窗体中嵌入 DOS 控制台

    我设法从其他问题中找到一些数据 使我能够实现下一个代码 Imports System Runtime InteropServices Public Class Form1
  • 错误消息:“无法连接到 Gmail”

    有时我会从许多脚本的基于时间的触发器中收到此错误消息 我可以做些什么还是只是服务器端问题 这看起来确实像服务器端 但预计它偶尔会失败 我想你应该实施一个指数退避 http googleappsdeveloper blogspot com b
  • SQLite 数据库创建时自动增量附近的语法错误

    又是我 那个使用 SQLite net 的人 当我的表主键上没有自动增量时 我的代码可以正常工作 我想自动增量键 所以我像这样重建了表 using SQLite namespace VehicleTracks Models public c