7

次のコマンドを実行したとき:

create table assessment (
    id integer not null auto_increment unique,
    assignment_weight_type tinyint not null,
    description varchar(255),
    end_date datetime not null,
    from_grade tinyint not null,
    f_id tinyint not null,
    name varchar(255) not null,
    start_date datetime not null,
    status tinyint not null,
    weight smallint,
    school_id integer not null,
    school_year_id integer not null,
    s_id integer, primary key (id),
    unique (name, school_id, school_year_id, from_grade, f_id)
) ENGINE=InnoDB;

次のエラー メッセージが表示されました。

Specified key was too long; max key length is 767 bytes

utf8mb4 の文字セットを使用しています。では、なぜエラー メッセージが表示されたのでしょうか。

4

3 に答える 3

6

utf8mb4は 1 文字あたり最大 4 バイトを使用するため、名前だけで最大 1020 バイトを占める可能性があります。

于 2012-05-25T03:39:44.783 に答える