diff --git a/sql/sql_show.cc b/sql/sql_show.cc index 19b39090c52..daf60939037 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -1221,7 +1221,8 @@ bool store_create_info(THD *thd, TABLE_LIST *table_list, String *packet, or was explicitly assigned. */ if (!(field->charset()->state & MY_CS_PRIMARY) || - column_has_explicit_collation || + (column_has_explicit_collation && + field->charset() != &my_charset_bin) || (field->charset() == &my_charset_utf8mb4_0900_ai_ci && share->table_charset != &my_charset_utf8mb4_0900_ai_ci)) { packet->append(STRING_WITH_LEN(" COLLATE "));