为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DB Version: 0x7000c
【操作系统】:windowns 10
【CPU】:x86_64
【问题描述】*:达梦数据库如何在创建表时指定索引?如下MySQL 的KEY方式:
CREATE TABLE yx_seal_apply_demand
(
id
varchar(36) NOT NULL COMMENT '主键',
reset_counts
varchar(60) DEFAULT NULL COMMENT '重置次数',
person_id
varchar(3600) DEFAULT NULL,
junction_sealed_counts
varchar(900) DEFAULT NULL,
remain_general_seal_times
varchar(60) DEFAULT NULL,
remain_page_seal_times
varchar(60) DEFAULT NULL,
PRIMARY KEY (id
),
KEY person_id
(person_id
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
像非主键索引,唯一索引之外, 普通二级索引是独立于表定义的,类似oracle语法,希望小伙伴慢慢适应使用方式
以上创建表语句,在达梦中可以此方式进行调整:
注意:
1.目前无法在创建表时同时指定普通索引。
2. 不支持建表同时指定注释
3. 如果涉及数据迁移,可以使用达梦专业数据迁移工具,如DTS 进行表结构迁移
CREATE TABLE yx_seal_apply_demand (
id varchar(36) NOT NULL ,--COMMENT '主键',
reset_counts varchar(60) DEFAULT NULL ,--COMMENT '重置次数',
person_id varchar(3600) DEFAULT NULL,
junction_sealed_counts varchar(900) DEFAULT NULL,
remain_general_seal_times varchar(60) DEFAULT NULL,
remain_page_seal_times varchar(60) DEFAULT NULL,
PRIMARY KEY (id)--,
--KEY person_id (person_id)
); --ENGINE=InnoDB DEFAULT CHARSET=utf8;
create index idx_person_id on yx_seal_apply_demand(id );
comment on column yx_seal_apply_demand.person_id is '主键';
comment on column yx_seal_apply_demand.reset_counts is '重置次数';
CREATE TABLE yx_seal_apply_demand (
id varchar(36) NOT NULL COMMENT '主键',
reset_counts varchar(60) DEFAULT NULL COMMENT '重置次数',
person_id varchar(3600) DEFAULT NULL,
junction_sealed_counts varchar(900) DEFAULT NULL,
remain_general_seal_times varchar(60) DEFAULT NULL,
remain_page_seal_times varchar(60) DEFAULT NULL,
PRIMARY KEY (id),
CONSTRAINT FK_person_id FOREIGN KEY(id) REFERENCES person_id(person_id)
);