以下create语句显示了我的一个MariaDB表的当前结构.
CREATE TABLE `councilor` (
`id` BIGINT(20) NOT NULL AUTO_INCREMENT,
`user` BIGINT(20) NOT NULL,
`council` INT(11) NOT NULL,
`role` CHAR(50) NOT NULL DEFAULT 'member' COLLATE 'utf8_persian_ci',
`cDate` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP,
`uDate` TIMESTAMP NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
`startDate` DATETIME NULL DEFAULT NULL,
`endDate` DATETIME NULL DEFAULT NULL,
`responsibility` VARCHAR(255) NULL DEFAULT NULL COLLATE 'utf8_persian_ci',
`details` TEXT NULL COLLATE 'utf8_persian_ci',
PRIMARY KEY (`id`),
UNIQUE INDEX `userId_councilId` (`user`, `council`),
INDEX `council_user_council_foreign` (`council`)
)
COLLATE='utf8_persian_ci'
ENGINE=InnoDB
ROW_FORMAT=COMPACT
AUTO_INCREMENT=11;
我需要删除唯一索引,但尝试删除两个键中的任何一个失败.
ALTER TABLE `councilor`
DROP INDEX `userId_councilId`;
/ * SQL错误(1553):无法删除索引’userId_councilId’:外键约束中需要* /
ALTER TABLE `councilor`
DROP INDEX `council_user_council_foreign`;
/ * SQL错误(1553):无法删除索引’council_user_council_foreign’:外键约束中需要* /
删除所有表的行也没有用.但是,如果上述脚本创建了新表,则不会发生此问题.