【发布时间】:2018-04-11 16:28:48
【问题描述】:
我收到错误 ORA-01450: 超出最大密钥长度 (6398),因为我尝试在下面创建索引
CREATE INDEX FORENAME_SURNAME ON CARD_HOLDER( REGEXP_REPLACE (UPPER( FORENAME ),'\\s|-|_|\\.|\\:|\\,',''), REGEXP_REPLACE (UPPER( SURNAME ),'\\s|-|_|\\.|\\:|\\,','') );
错误代码很清楚,但我的列是 100Bytes,所以如何可能的索引超过最大值?
而 db_block_size = 8192 而不是 6398。
列定义下方
CREATE TABLE CARD_HOLDER
( "CARD_HOLDER_ID" NUMBER NOT NULL ENABLE,
"TITLE" VARCHAR2(10 BYTE),
"FORENAME" VARCHAR2(100 BYTE),
"SURNAME" VARCHAR2(100 BYTE) NOT NULL ENABLE,
)
【问题讨论】: