У меня есть таблица в MySQL
с 3 полями, и я хочу обеспечить уникальность двух полей. Вот таблица DDL
:
CREATE TABLE `CLIENT_NAMES` (
`ID` int(11) NOT NULL auto_increment,
`CLIENT_NAME` varchar(500) NOT NULL,
`OWNER_ID` int(11) NOT NULL,
PRIMARY KEY (`ID`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Поле ID
является суррогатным ключом (эта таблица загружается с помощью ETL). CLIENT_NAME
— это поле, содержащее имена клиентов. OWNER_ID
— это идентификатор, указывающий на владельца клиента.
Я думал, что смогу применить это с помощью уникального индекса для CLIENT_NAME
и OWNER_ID
,
ALTER TABLE `DW`.`CLIENT_NAMES`
ADD UNIQUE INDEX enforce_unique_idx(`CLIENT_NAME`, `OWNER_ID`);
но MySQL дает мне ошибку:
Ошибка выполнения команд SQL для обновления таблицы. Указанный ключ слишком длинный; максимальная длина ключа 765 байт (ошибка 1071)
У кого-то еще есть идеи?