diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc index e861aef5fe7..ad7ccaf8f38 100644 --- a/sql/sql_parse.cc +++ b/sql/sql_parse.cc @@ -2892,17 +2892,23 @@ bool add_field_to_list(char *field_name, enum_field_types type, DBUG_RETURN(1); } } +#ifdef MYSQL41000 else if (type_modifier & AUTO_INCREMENT_FLAG) { net_printf(&thd->net, ER_INVALID_DEFAULT, field_name); DBUG_RETURN(1); } +#endif } if (!(new_field=new create_field())) DBUG_RETURN(1); new_field->field=0; new_field->field_name=field_name; +#ifdef MYSQL41000 new_field->def= default_value; +#else + new_field->def= (type_modifier & AUTO_INCREMENT_FLAG ? 0 : default_value); +#endif new_field->flags= type_modifier; new_field->unireg_check= (type_modifier & AUTO_INCREMENT_FLAG ? Field::NEXT_NUMBER : Field::NONE);