J'essaie de supprimer une colonne de clé étrangère dans une table que j'ai appelée ProductInvoice. La colonne que j'essaie de supprimer s'appelle PersonID et provient de la table Person. Quand je lance la requêteMySql Error 1025
ALTER TABLE ProductInvoice
DROP COLUMN PersonID;
Je reçois cette erreur ...
Error Code: 1025. Error on rename of './jkripal/#sql-91c_19ff0' to './jkripal/ProductInvoice' (errno: 150)
Tous les conseils sur la façon de résoudre cela? J'ai regardé autour de ce site et ne trouve aucune réponse qui m'aide.
Ce sont les résultats de SHOW CREATE TABLE ProductInvoice
'ProductInvoice', 'CREATE TABLE `ProductInvoice`
(\n `ProductInvoiceID` int(11) NOT NULL AUTO_INCREMENT,
\n `PersonID` int(11) DEFAULT NULL,
\n `ProductID` int(11) NOT NULL,
\n `InvoiceID` int(11) NOT NULL,
\n `TravelDate` varchar(255) DEFAULT NULL,
\n `TicketNote` varchar(255) DEFAULT NULL,
\n `Quantity` int(11) DEFAULT NULL,
\n `InsuranceTicketCode` varchar(255) DEFAULT NULL,
\n PRIMARY KEY (`ProductInvoiceID`),
\n KEY `fkPerson` (`PersonID`),
\n KEY `fk_ProductInvoice_to_Product` (`ProductID`),
\n KEY `fk_ProductInvoice_to_Invoice` (`InvoiceID`),
\n CONSTRAINT `ProductInvoice_ibfk_1` FOREIGN KEY (`PersonID`) REFERENCES `Person` (`PersonID`),
\n CONSTRAINT `ProductInvoice_ibfk_2` FOREIGN KEY (`ProductID`) REFERENCES `Product` (`ProductID`),
\n CONSTRAINT `ProductInvoice_ibfk_3` FOREIGN KEY (`InvoiceID`) REFERENCES `Invoice` (`InvoiceID`)
\n) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8'
Regardez ici comment trouver et supprimer la clé étrangère http://stackoverflow.com/a/19668812/1745672 – Mihai
Afficher le résultat de 'SHOW CREATE TABLE ProductInvoice' – Mihai
@Mihai J'ai édité le message principal –