mysql 删除外键索引吗_MySQL无法删除外键约束中所需的索引

我需要改变我现有的数据库来添加一个列。因此,我还要更新UNIQUE字段以包含该新列。我试图删除当前的索引,但不断收到错误“MySQL不能删除索引外键约束”

CREATE TABLE mytable_a (

ID TINYINT NOT NULL AUTO_INCREMENT PRIMARY KEY,

Name VARCHAR(255) NOT NULL,

UNIQUE(Name)

) ENGINE=InnoDB;

CREATE TABLE mytable_b (

ID TINYINT NOT NULL AUTO_INCREMENT PRIMARY KEY,

Name VARCHAR(255) NOT NULL,

UNIQUE(Name)

) ENGINE=InnoDB;

CREATE TABLE mytable_c (

ID TINYINT NOT NULL AUTO_INCREMENT PRIMARY KEY,

Name VARCHAR(255) NOT NULL,

UNIQUE(Name)

) ENGINE=InnoDB;

CREATE TABLE `mytable` (

`ID` int(11) NOT NULL AUTO_INCREMENT,

`AID` tinyint(5) NOT NULL,

`BID` tinyint(5) NOT NULL,

`CID` tinyint(5) NOT NULL,

PRIMARY KEY (`ID`),

UNIQUE KEY `AID` (`AID`,`BID`,`CID`),

KEY `BID` (`BID`),

KEY `CID` (`CID`),

CONSTRAINT `mytable_ibfk_1` FOREIGN KEY (`AID`) REFERENCES `mytable_a` (`ID`) ON DELETE CASCADE,

CONSTRAINT `mytable_ibfk_2` FOREIGN KEY (`BID`) REFERENCES `mytable_b` (`ID`) ON DELETE CASCADE,

CONSTRAINT `mytable_ibfk_3` FOREIGN KEY (`CID`) REFERENCES `mytable_c` (`ID`) ON DELETE CASCADE

) ENGINE=InnoDB;

mysql> ALTER TABLE mytable DROP INDEX AID;

ERROR 1553 (HY000): Cannot drop index 'AID': needed in a foreign key constraint

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值