我有一个 varchar (1500) 字段(链接),我想使其唯一。我对 mysql 配置进行了更改,并将长度增加到 3072 字节
ROW_FORMAT=DYNAMIC, innodb_file_format = Barracuda, innodb_large_prefix = true
但是当我将 unique 应用于我的领域时,我收到了下一个错误:
"#1071 - Specified key was too long; max key length is 3072 bytes"
我的字段是 varchar(1500),即 3000 字节。
怎么了?
更新(1)
表数据:
CREATE TABLE IF NOT EXISTS `pages` (
`link` varchar(1500) NOT NULL,
`domain` varchar(255) NOT NULL,
`lastvisited` datetime DEFAULT NULL,
`id` bigint(20) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`),
KEY `link` (`link`(255))
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ROW_FORMAT=DYNAMIC;
更新(2)
更改命令(通过 PHPMYADMIN 完成)
ALTER TABLE `pages` ADD UNIQUE (
`link`
)