0

重複の可能性:
「指定されたキーが長すぎます。キーの最大長は 1000 バイトです。」

SQL クエリ:

CREATE TABLE  `freecomputermarket`.`Members` (

`ID` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`UserName` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL ,
`Email` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL ,
`Password` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL ,
`BirthDate` DATE NOT NULL ,
`RegisterationDate` DATE NOT NULL ,
`ActivationCode` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL ,
`ActivationLink` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL ,
`IsActive` BIT( 0 ) NOT NULL ,
`Gender` CHAR( 6 ) NOT NULL ,
UNIQUE (
`UserName` ,
`ActivationCode` ,
`ActivationLink`
)
) ENGINE = MYISAM

このクエリを実行すると、「#1071 - 指定されたキーが長すぎます。キーの最大長は 1000 バイトです」というエラーが発生しますか?

4

1 に答える 1

4

UNIQUEインデックスに 255 文字の UTF8 列が 3 つあります。各 UTF8 文字は最大 3 バイトを使用できるため、各列は最大 765 バイトを使用できるため、インデックス全体で合計 2295 バイトになり、エラーが示すように、1000 バイトの制限を超えています。

于 2012-09-26T19:52:35.890 に答える