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,可以将其设置为使用与主键约束相同的索引名称。
我可以创建一个主键,指定它的名称,像这样:
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,可以将其设置为使用与主键约束相同的索引名称。