diff --git a/storage/innobase/handler/handler0alter.cc b/storage/innobase/handler/handler0alter.cc index bd1bd8fbb9c..ab50c327e28 100644 --- a/storage/innobase/handler/handler0alter.cc +++ b/storage/innobase/handler/handler0alter.cc @@ -4278,10 +4278,17 @@ innobase_add_instant_try( case MYSQL_TYPE_MEDIUM_BLOB: case MYSQL_TYPE_BLOB: case MYSQL_TYPE_LONG_BLOB: + variable_length: /* Store the empty string for 'core' variable-length NOT NULL columns. */ dfield_set_data(d, field_ref_zero, 0); break; + case MYSQL_TYPE_STRING: + if (col->mbminlen != col->mbmaxlen + || !dict_table_is_comp(user_table)) { + goto variable_length; + } + /* fall through */ default: /* For fixed-length NOT NULL 'core' columns, get a dummy default value from SQL. Note that