sql >> データベース >  >> RDS >> Mysql

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

    回避策を学びました...5.5.14または5.6.3(またはそれ以降)を入手し、ここに示されているSETを実行し、DYNAMICまたはCOMPRESSEDを使用します:

    SET GLOBAL innodb_file_per_table = ON,
               innodb_file_format = Barracuda,
               innodb_large_prefix = ON;
    CREATE TABLE so29676724 (
      `id` INT NOT NULL AUTO_INCREMENT,
      `hashtag` VARCHAR(255) NOT NULL COMMENT 'hashtag must be unique. Must be saved without #',
       PRIMARY KEY (`id`),
      UNIQUE INDEX `hashtags_hashtag` (`hashtag` ASC)
    )
    ENGINE = InnoDB
    DEFAULT CHARACTER SET  utf8mb4
    ROW_FORMAT = COMPRESSED;
    
    SHOW CREATE TABLE so29676724\G
    
    mysql> CREATE TABLE so29676724 (
        ->   `id` INT NOT NULL AUTO_INCREMENT,
        ->   `hashtag` VARCHAR(255) NOT NULL COMMENT 'hashtag must be unique. Must be saved without #',
        ->    PRIMARY KEY (`id`),
        ->   UNIQUE INDEX `hashtags_hashtag` (`hashtag` ASC)
        -> )
        -> ENGINE = InnoDB
        -> DEFAULT CHARACTER SET  utf8mb4
        -> ROW_FORMAT = COMPRESSED;
    Query OK, 0 rows affected (0.09 sec)
    


    1. 例外ORA-08103:Hibernateのsetfetchsizeを使用する際にオブジェクトが存在しなくなりました

    2. すべての行のテキストを検索して置換するSQLクエリ

    3. varcharフィールドの型を整数に変更:整数型に自動的にキャストできません

    4. MySQLの無効化および有効化キー