一个表上的SQLite多主键,其中之一是自动增量
发布时间:2020-12-12 19:10:27 所属栏目:百科 来源:网络整理
导读:表上有多个(复合)主键,其中一个将自动递增.但是,有趣的是,SQLite允许在强制PRIMARY KEY关键字之后使用AUTOINCREMENT关键字. 我的查询是: CREATE TABLE ticket ( id INTEGER PRIMARY KEY AUTOINCREMENT,seat TEXT,payment INTEGER,PRIMARY KEY (id,seat)) 但
表上有多个(复合)主键,其中一个将自动递增.但是,有趣的是,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"); 此外,我看不到您的架构的逻辑,也就是 – >如果列是自动增量,并且您不打算手动混淆值,它将是唯一的,所以它是一个很好的简单的短主键.为什么复合?尽管如此,您可能有很好的理由为列组合创建另一个索引. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |