diff --git a/sql/sql_update.cc b/sql/sql_update.cc index f83e11912d1..788448563ac 100644 --- a/sql/sql_update.cc +++ b/sql/sql_update.cc @@ -2047,8 +2047,7 @@ int multi_update::send_data(List ¬_used_values) store_record(table,record[1]); if (fill_record_n_invoke_before_triggers(thd, table, *fields_for_table[offset], *values_for_table[offset], 0, - TRG_EVENT_UPDATE) || - (table->default_field && table->update_default_fields())) + TRG_EVENT_UPDATE)) DBUG_RETURN(1); /* @@ -2060,6 +2059,10 @@ int multi_update::send_data(List ¬_used_values) if (!can_compare_record || compare_record(table)) { int error; + + if (table->default_field && table->update_default_fields()) + DBUG_RETURN(1); + if ((error= cur_table->view_check_option(thd, ignore)) != VIEW_CHECK_OK) {