0

2 つのデータベース テーブル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に変更しました。今は他のものを as として使用できますが、これを使用して削除することはできませんが、そうすることができませんでした。Index TypeINDEXcolumnPRIMARY KEYindexPHPMyAdminindexesredundant 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 に答える