一个表上的SQLite多主键,其中之一是自动增量

表上有多个(复合)主键,其中一个将自动递增.但是,有趣的是,sqlite允许在强制PRIMARY KEY关键字之后使用AUTOINCREMENT关键字.

我的查询是:

CREATE TABLE ticket (
     id INTEGER PRIMARY KEY AUTOINCREMENT,seat TEXT,payment INTEGER,PRIMARY KEY (id,seat))

但是错误是表“ticket”有多个主键.

其实我可以避免这个表的其他主键.但是我正在编写一个ORM框架(我真的很疯狂),并且不想改变一个表的PRIMARY KEY约束生成的结构(因为它是在MysqL afaik中允许的).

你知道任何解决方案吗?

不,我不认为这是可能的.

您可以创建一个独一无二的INDEX,它具有与PRIMARY KEY基本相同的效果

CREATE UNIQUE INDEX pk_index ON "table1"("field1","field2");

此外,我看不到您的架构的逻辑,也就是 – >如果列是自动增量,并且您不打算手动混淆值,它将是唯一的,所以它是一个很好的简单的短主键.为什么复合?尽管如此,您可能有很好的理由为列组合创建另一个索引.

相关文章

安装 在Windows上安装SQLite。 访问官网下载下Precompliled Binaries for Windows的两个压缩包。 创建s...
一、安装 下载地址:http://www.sqlite.org/download.html 将Precompiled Binaries for Windows下的包下...
实例: 会员信息管理 功能:1.查看数据库 2.清空数据库 3.增加会员 4.删除会员 5.更新会员 6.查找会员  ...
关于SQLite SQLite是一个轻量的、跨平台的、开源的数据库引擎,它的在读写效率、消耗总量、延迟时间和整...