删除 索引 外键 mysql_MySQL(InnoDB):需要删除列和伴随的外键约束和索引

这是我的桌子:

CREATE TABLE `alums_alumphoto` (

`id` int(11) NOT NULL auto_increment,

`alum_id` int(11) NOT NULL,

`photo_id` int(11) default NULL,

`media_id` int(11) default NULL,

`updated` datetime NOT NULL,

PRIMARY KEY (`id`),

KEY `alums_alumphoto_alum_id` (`alum_id`),

KEY `alums_alumphoto_photo_id` (`photo_id`),

KEY `alums_alumphoto_media_id` (`media_id`),

CONSTRAINT `alums_alumphoto_ibfk_1` FOREIGN KEY (`media_id`) REFERENCES `media_mediaitem` (`id`),

CONSTRAINT `alum_id_refs_id_706915ea` FOREIGN KEY (`alum_id`) REFERENCES `alums_alum` (`id`),

CONSTRAINT `photo_id_refs_id_63282119` FOREIGN KEY (`photo_id`) REFERENCES `media_mediaitem` (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=63 DEFAULT CHARSET=utf8我想删除列photo_id,这大概也需要删除外键约束和索引。

问题是,当我尝试删除列时出现错误:

ERROR 1025 (HY000): Error on rename of '.\dbname\#sql-670_c5c' to '.\dbname\alums_alumphoto' (errno: 150)...当我尝试删除索引(与上面相同),以及当我尝试删除外键约束时:

ERROR 1091 (42000): Can't DROP 'photo_id_refs_id_63282119'; check that column/key exists)我应该如何处理所有这些?我应该使用哪些精确的命令?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值