0

我尝试制作两个数据库表wp_marketingwp_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 TypeINDEX。现在我可以使用任何其他column的,PRIMARY KEY但我不能删除它index使用PHPMyAdmin但无法这样做。我知道这些类型indexes被称为redundant indexes

现在,除了table(s)再次创建之外,我别无选择。这些索引有什么解决方案吗?

4

1 回答 1

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);

MySQL 更改语法

于 2013-02-03T14:18:31.357 回答