MySQL error: The maximum column size is 767 bytes

前端 未结 10 1769
陌清茗
陌清茗 2020-12-24 15:41

When I run a program which does something with MySQL, I got this error message:

2015-06-10 15:41:12,250 ERROR app.wsutils 419 INCRON: Error: (\'HY000\

相关标签:
10条回答
  • 2020-12-24 16:29

    With the help of the answer given by BK435, I did the following and solved the problem.

    set global innodb_file_format = BARRACUDA;
    set global innodb_large_prefix = ON;
    create table test (........) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;
    
    0 讨论(0)
  • 2020-12-24 16:32

    Your column that you are trying to index is too large and your settings must not be correct for innodb_large_prefix. There are a couple prerequisites parameters that also have to be set in order for innodb_large_prefix to work correctly.

    You can check to make sure that innodb_large_prefix is set by running:

    show global variables like 'innodb_lar%';

    Here are a couple prerequisites for using innodb_large_prefix:

    You need to set your global variable innodb_file_format=BARRACUDA

    to check settings run: show global variables like 'innodb_fil%';

    At the table level you have to use ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED

    for Innodb, rows are stored in COMPACT format (ROW_FORMAT=COMPACT) by default.

    0 讨论(0)
  • 2020-12-24 16:32

    I had the same error but on a different issue. I got this error while importing a data (data and schema) script. Deleting the Unique Index fixed the issue for me.

    Answer taken from this link

    0 讨论(0)
  • 2020-12-24 16:33

    Set the below system variables:

    innodb_buffer_pool_size.................................... 702545920
    innodb_file_format......................................... Barracuda
    innodb_file_format_check................................... ON
    innodb_file_format_max..................................... Barracuda
    innodb_file_per_table...................................... ON
    innodb_large_prefix........................................ ON
    innodb_log_file_size....................................... 50331648
    

    Also, make sure when you create your schema you create it as Latin1. That is what finally fixed me.

    0 讨论(0)
提交回复
热议问题