Nie można usunąć kolumny, ponieważ ograniczenie klucza obcego używa tego indeksu. Musisz utworzyć indeks, który będzie używany do sprawdzania ograniczeń w pierwszej kolejności i indeks usuwania, który zawiera kolumnę, która ma zostać usunięta. Następnie kolumna może zostać usunięta.
ALTER TABLE product ADD INDEX (brand_id),
DROP INDEX product_eancode_unique,
DROP COLUMN `ean_code`;
https://dbfiddle.uk/?rdbms=mariadb_10.5&fiddle=f36688accic022798867872