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

前端之家收集整理的这篇文章主要介绍了一个表上的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");

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

猜你在找的Sqlite相关文章