2016-11-08 2 views
0
私のようなソリューションを試してみた
`CREATE TABLE IF NOT EXISTS `Odin`.`Usuario` (
    `CodUsuario` INT NOT NULL AUTO_INCREMENT, 
    `CodTipoUsuario` INT NOT NULL, 
    `CodConsultorTecnico` INT NULL, 
    `CodProdutor` INT NULL, 
    `Login` VARCHAR(255) CHARACTER SET 'utf8mb4' NOT NULL, 
    `Senha` VARCHAR(32) CHARACTER SET 'utf8mb4' NOT NULL, 
    `Ativo` TINYINT(1) NOT NULL, 
    `MaiorDataRegistrada` DATETIME NOT NULL, 
    `DataLimite` DATETIME NOT NULL DEFAULT '01/01/2014', 
    `MaxFazendas` INT NOT NULL DEFAULT 0, 
    `MaxFemeas` INT NOT NULL DEFAULT 0, 
    `CodUserWeb` INT NOT NULL DEFAULT 0, 
    `CodEstudante` INT NULL, 
    `UltimoBackup` DATETIME NULL, 
    PRIMARY KEY (`CodUsuario`), 
    UNIQUE INDEX `UQ__Usuario__00000000000006D8` (`Login` ASC), 
    CONSTRAINT `FK_Usu_ref_Est` 
    FOREIGN KEY (`CodEstudante`) 
    REFERENCES `Odin`.`Estudante` (`CodEstudante`) 
    ON DELETE NO ACTION 
    ON UPDATE NO ACTION, 
    CONSTRAINT `Fk_Usuario_Ref_Consultor` 
    FOREIGN KEY (`CodConsultorTecnico`) 
    REFERENCES `Odin`.`ConsultorTecnico` (`CodConsultorTecnico`) 
    ON DELETE NO ACTION 
    ON UPDATE NO ACTION, 
    CONSTRAINT `Fk_Usuario_Ref_Produtor` 
    FOREIGN KEY (`CodProdutor`) 
    REFERENCES `Odin`.`Produtor` (`CodProdutor`) 
    ON DELETE NO ACTION 
    ON UPDATE NO ACTION, 
    CONSTRAINT `Fk_Usuario_Ref_TipoUsuario` 
    FOREIGN KEY (`CodTipoUsuario`) 
    REFERENCES `Odin`.`ConfTipoUsuario` (`CodTipoUsuario`) 
    ON DELETE NO ACTION 
    ON UPDATE NO ACTION) ` 

: ENGINE =のInnoDB DEFAULT CHARSET = UTF8のCOLLATE = utf8_unicode_ci内を、 または ENGINE = InnoDB DEFAULT CHARSET = utf16 COLLATE = utf8_unicode_ci;マイSQLスクリプトERRO 1071 - UNIQUEまたは変更エンジンをプラス機能しない

またはUNIQUE

を追加してもエラーに進みます

1071 - 指定されたキーが長すぎました。最大鍵長は767バイトです

誰かが私を助けることができますか?ありがとうございました

+0

[#1071 - 指定されたキーの重複が長すぎます。最大キーの長さは767バイト]です(http://stackoverflow.com/questions/1814532/1071-specified-key-was-too-long-max-key-length-is-767-bytes) – DanFromGermany

+0

私はこの解決策を見ましたが、とにかくお試しいただきありがとうございます –

答えて

0

utf8mb4は1文字あたり1〜4バイトです。

あなたはVARCHAR(255)選んだ - * 4つのバイト255文字を= 1020

は少ない文字で試してみてください。 VARCHAR(191)と同様です。

innodb_large_prefixもご覧ください。

関連する問題