database - 在 Delphi CE 中针对 Sqlite3 获得负自动增量值
问题描述
我已经看过了,也许我不知道在哪里看,但这是我的情况。我使用试用应用程序将工作中的 .mdb 数据库转换为 SQlite:ESF 数据库迁移工具包。我迁移了最后一个自动增量 ID 为 263 的所有数据。当我尝试使用 Delphi CE 将任何数据插入 .db 时,自动增量字段不起作用,说 ID 字段需要一个值。我查看了表格,它对该字段有一个约束。我使用 SQliteUI 删除了约束,重新定义了 ID,使其成为 PRIMARY KEY NOT NULL AUTOINCREMENT,现在可以添加数据,但它给了我一个负 ID (-3)。如果我将它直接放在 SQLiteUI 中,它会给出一个 NULL 值,直到刷新表并且我得到正确的下一个 ID (264)。我可能做错了什么?我应该没有迁移数据吗?在 SQLiteUI 中重新制作表格?我没有' 不想手动重新输入所有数据。谢谢
CREATE TABLE wines (
wineID INTEGER PRIMARY KEY ASC AUTOINCREMENT NOT NULL,
winename VARCHAR (175),
winery VARCHAR (200),
varietal VARCHAR (200),
winetype VARCHAR (150),
incellar INTEGER DEFAULT 0,
vintage VARCHAR (10),
grapes VARCHAR (150),
pricepaid NUMERIC (10, 2) DEFAULT 0,
winelabel BLOB,
wherestored VARCHAR (100),
rating VARCHAR (10),
datepurchased DATETIME,
foodpairing VARCHAR (255),
region VARCHAR (150),
regionalstyle VARCHAR (150),
country VARCHAR (150),
mynotes VARCHAR (255)
)
解决方案
推荐阅读
- stormcrawler - 用逗号和分号分隔关键字
- schema - Flatbuffers:如何允许单个字段使用多种类型
- vba - 带 4 位小数的 VBA 除法
- python - 如何抓取 Instagram 个人资料链接 BeautifulSoup?
- powerbi - 在行为类似于 powerBI 中的列计算的度量中使用切片器值的解决方法
- php - SetupDatabase() Croogo 3.0.5 [已修复] 后出现错误 500
- c# - 在一个窗口中以两种不同的方式样式化 WPF 树
- php - Jquery,Ajax保存到数据库
- sql - 在表中创建 100 个连续整数的表的最简单方法?
- c# - 过滤功能在 ASP.NET MVC 中不起作用