如何在H2数据库中创建主键约束并使主键索引名称与约束名一致?
在H2数据库中同步主键约束与索引名称的解决方案
H2默认会为自动生成的主键索引分配类似PRIMARY_KEY_n的命名,即便指定了主键约束名也不会同步索引名。要让两者保持一致,可通过显式指定索引名称的方式实现:
修正后的创建表SQL
CREATE TABLE roles ( id int NOT NULL, rolename varchar(255), CONSTRAINT "pk_role_id" PRIMARY KEY (id) INDEX "pk_role_id" );
验证结果
执行创建语句后,可通过查询系统表确认索引名称是否匹配:
SELECT INDEX_NAME FROM INFORMATION_SCHEMA.INDEXES WHERE TABLE_NAME = 'ROLES';
此时返回的索引名称应为pk_role_id,与主键约束名完全一致。
内容的提问来源于stack exchange,提问作者Piyush Bali
相关产品推荐
相关产品推荐

