CREATE TABLE IF NOT EXISTS `dbo`.`Discounts` (
`Id` INT NOT NULL AUTO_INCREMENT,
`Description` LONGTEXT CHARACTER SET 'utf8mb4' NULL,
`Code` VARCHAR(255) CHARACTER SET 'utf8mb4' NULL,
`Catalog_Id` INT NULL,
PRIMARY KEY (`Id`),
UNIQUE INDEX `UQ_Discounts_CatalogCode` (`Catalog_Id` ASC, `Code`(255) ASC),
CONSTRAINT `Discount_Catalog`
FOREIGN KEY (`Catalog_Id`)
REFERENCES `dbo`.`Catalogs` (`Id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
我正在将数据从SSMS迁移到mysql。最后我得到了这个错误。我该如何解决它?指定的密钥太长;最大密钥长度是767字节。 SQL错误:1071
的[#1071可能的复制 - 指定的键过长;最大密钥长度是767字节](https://stackoverflow.com/questions/1814532/1071-specified-key-was-too-long-max-key-length-is-767-bytes) – HoneyBadger
你可以聪明这使文本值的散列唯一,而不是实际值。它节省了大量的空间。 – Mjh