You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 23:07:07