gpt4 book ai didi

mysql - MySql 中的错误 1025 err 150

转载 作者:行者123 更新时间:2023-11-29 21:51:30 24 4
gpt4 key购买 nike

我正在尝试在名为 ProductInvoice 的表中删除外键列。我尝试删除的列名为 PersonID,来自表 Person。当我运行查询时

ALTER TABLE ProductInvoice
DROP COLUMN PersonID;

我收到此错误...

Error Code: 1025. Error on rename of './jkripal/#sql-91c_19ff0' to './jkripal/ProductInvoice' (errno: 150)

关于如何解决这个问题有什么建议吗?我浏览了该网站,但找不到任何有帮助的答案。

我也尝试过这些查询

ALTER TABLE ProductInvoice DROP FOREIGN KEY `fkPerson`;
ALTER TABLE ProductInvoice DROP COLUMN PersonID;

并收到此回复...

Error Code: 1025. Error on rename of './jkripal/ProductInvoice' to './jkripal/#sql2-91c-1a05a' (errno: 152)

这些是 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'

我也试过了,没有效果

ALTER TABLE ProductInvoice DROP FOREIGN KEY `fkPerson`;

DROP INDEX `fkPerson` ON ProductInvoice;
ALTER TABLE ProductInvoice DROP COLUMN PersonID;

最佳答案

您需要删除引用该列的外键约束。为此,您必须通过 CONSTRAINT 的名称指定要删除的外键。根据 show create table 显示的输出,该约束看起来名为 ProductInvoice_ibfk_1

因此,首先删除外键约束:

 ALTER TABLE `ProductInvoice` DROP FOREIGN KEY `ProductInvoice_ibfk_1`;

然后您可以删除该列。 (在删除该列之前,可能还需要删除引用该列的索引。)

关于mysql - MySql 中的错误 1025 err 150,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33587452/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com