HSQLDB - 覆盖使用主键创建的唯一索引的默认名称

HSQLDB - Override the default name for the unique index created with a primary key

我可以创建一个主键,指定它的名称,像这样:

ALTER TABLE MY_TABLE ADD CONSTRAINT MY_TABLE_PK PRIMARY KEY (ID);

该引擎还创建了一个名为 SYS_IDX_11905 的唯一索引。 我不知道在创建时指定其名称的方法,如果我尝试用

重命名它
ALTER INDEX SYS_IDX_11905 RENAME TO MY_TABLE_ID_UINDEX

我得到 java.lang.RuntimeException: org.hsqldb.HsqlException: user lacks privilege or object not found: SYS_IDX_11905

有什么方法可以指定索引的名称吗?

用户不能删除或重命名自动创建的索引。 sql.sys_index_names 属性 另见 http://hsqldb.org/doc/guide/dbproperties-chapt.html#dpc_sql_conformance,可以将其设置为使用与主键约束相同的索引名称。