Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Feld in MariaDB/MySql-Tabelle kann nicht mit FOREIGN KEY gelöscht werden

Sie können die Spalte nicht löschen, da die Fremdschlüsseleinschränkung diesen Index verwendet. Sie müssen zuerst einen Index erstellen, der für die Einschränkungsprüfung verwendet wird, und einen Index löschen, der die zu löschende Spalte enthält. Dann kann die Spalte gelöscht werden.

ALTER TABLE product ADD INDEX (brand_id), 
                    DROP INDEX product_eancode_unique,  
                    DROP COLUMN `ean_code`;

https://dbfiddle.uk/?rdbms=mariadb_10.5&fiddle=f36688300eeff3af867872b0227981ac 91ac