我使用 HSQLDB 作为数据库引擎。我想创建一个具有复合主键的表。我使用这段代码:
CREATE TABLE sample_table ( hash VARCHAR(20),
id INTEGER, data VARCHAR(256), PRIMARY KEY(hash, id) )
但我需要 id 是自动增量的。我的意思是,当我想要这样的东西时:
哈希 id 数据
abc 1 data_string_1 abc 2 data_string_2 efg 1 some_string_1 abc 3 some_data_again efg 2 last_string
如果我使用此代码:
CREATE TABLE sample_table ( hash VARCHAR(20),
id INTEGER IDENTITY, data VARCHAR(256), PRIMARY KEY(hash, id) )
(所以我将 id 设为自动增量主键)抛出异常:
java.sql.SQLSyntaxErrorException:主键已经存在
我能做些什么来解决这个问题?至于我,使用 COUNT (id) 的多个查询然后增加这个计数然后插入新值不好,我希望 HSQLDB 自动完成