diff --git a/sql/sql_select.cc b/sql/sql_select.cc index 0461b9725c5..b49a95e61a8 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -24577,7 +24577,7 @@ void TABLE_LIST::print(THD *thd, table_map eliminated_tables, String *str, const char *t_alias= alias; str->append(' '); - if (lower_case_table_names== 1) + if (lower_case_table_names == 1) { if (alias && alias[0]) { diff --git a/sql/sql_table.cc b/sql/sql_table.cc index 640c6b50fbb..5d20ad3967c 100644 --- a/sql/sql_table.cc +++ b/sql/sql_table.cc @@ -9095,6 +9095,17 @@ bool mysql_alter_table(THD *thd,char *new_db, char *new_name, new_table->file->get_foreign_key_list(thd, &fk_list); while ((fk= fk_list_it++)) { + if (lower_case_table_names) + { + char buf[NAME_LEN]; + uint len; + strmake_buf(buf, fk->referenced_db->str); + len = my_casedn_str(files_charset_info, buf); + thd->make_lex_string(fk->referenced_db, buf, len); + strmake_buf(buf, fk->referenced_table->str); + len = my_casedn_str(files_charset_info, buf); + thd->make_lex_string(fk->referenced_table, buf, len); + } if (table_already_fk_prelocked(table_list, fk->referenced_db, fk->referenced_table, TL_READ_NO_INSERT)) continue;