我有一个复合PK,其中一个字段是AUTO_INCREMENT
和Long
。
我注意到这样做会浪费列,因为它实际上只是自动递增而不考虑复合PK。
我正在寻找这种效果:
示例:
Section ID
----------
ABC 1
ABC 2
DEF 1
DEF 2
DEF 3
但是,通过使用AUTO_INCREMENT
,结果将变为:
Section ID
----------
ABC 1
ABC 2
DEF 3
DEF 4
DEF 5
当前的CREATE TABLE
声明如下:
CREATE TABLE IF NOT EXISTS Test(
Section varchar(128) NOT NULL,
ID long AUTO_INCREMENT NOT NULL,
PRIMARY KEY(Section, ID)
);
我该如何解决这个问题?
答案 0 :(得分:0)
看起来你的底层数据库是MySQL。这实际上没有什么区别。 。 。没有数据库直接支持您正在寻找的功能。
您有两种选择:
答案 1 :(得分:0)
您必须按顺序计算主键。没有任何数据库引擎支持此功能。