Non è possibile eliminare la colonna perché il vincolo di chiave esterna utilizza questo indice. È necessario creare un indice che verrà utilizzato per il controllo dei vincoli in primo luogo e rilasciare l'indice che include la colonna da eliminare. Quindi la colonna potrebbe essere eliminata.
ALTER TABLE product ADD INDEX (brand_id),
DROP INDEX product_eancode_unique,
DROP COLUMN `ean_code`;
https://dbfiddle.uk/?rdbms=mariadb_10.5&fiddle=f36688300eeff3af867872b0227988