我正在尝试为我的WordPress插件设置数据库中多列的唯一约束。我在Stack上看到了类似问题的很多答案,但是我无法在我的上下文中使它工作。我按照Creating Tables with Plugins的WordPress文档。
我试过了
CREATE TABLE media (
id mediumint(9) NOT NULL AUTO_INCREMENT,
name tinytext NOT NULL,
email VARCHAR(100) NOT NULL,
CONSTRAINT mediaID UNIQUE (id, email)
) $charset_collate;
和
CREATE TABLE media (
id mediumint(9) NOT NULL AUTO_INCREMENT,
name tinytext NOT NULL,
email VARCHAR(100) NOT NULL,
UNIQUE KEY id (id)
) $charset_collate;
ALTER TABLE media
ADD UNIQUE (email)
不幸的是,没有这些工作,因为我能够添加两个具有相同电子邮件地址的记录。我试图手动输入“ALTER TABLE ...”到phpMyAdmin,然后它可以工作。但不是在插件代码中。