我尝试制作两个数据库表wp_marketing
和wp_email
。我在这些表中遇到redundant indexes
的问题。我添加了SHOW CREATE TABLE tablename;
。
CREATE TABLE `cur_emailcontent` (
`title` varchar(100) NOT NULL,
`message` varchar(1000) NOT NULL,
`mail_from` varchar(100) NOT NULL,
`subject` varchar(100) NOT NULL,
KEY `title` (`title`),
CONSTRAINT `cur_emailcontent_ibfk_1` FOREIGN KEY (`title`) REFERENCES `cur_marketing` (`title`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
最初我将title
列设为primary
,然后我将Index Type
更改为INDEX
。现在我可以使用任何其他column
作为PRIMARY KEY
,但我无法使用index
删除此PHPMyAdmin
,但无法删除。我必须知道这些类型的indexes
被称为redundant indexes
。
现在除了再次创建table(s)
之外,我没有任何其他选择。这些索引有解决方案吗?
答案 0 :(得分:2)
如果基于cur_emailcontent
查询title
表是不太可能的,也不希望它是外键;也可以mail_from
作为新的主键执行:
ALTER TABLE cur_emailcontent DROP FOREIGN KEY cur_emailcontent_ibfk_1,
DROP KEY title,
ADD PRIMARY KEY (mail_from);