我创建了一个表,其中存储了我正在创建的自定义品牌插件的选项,但我似乎无法REPLACE
正常工作。
如果未设置选项,并且我使用以下选项,则按预期插入该选项 -
REPLACE INTO dd_admin_branding SET `option_name` = "show_custom_footer", `option_value` = "0";
但是,如果我要运行相同的查询但使用不同option_value
的 ,则会添加一个新行,而不是替换现有行 -
REPLACE INTO dd_admin_branding SET `option_name` = "show_custom_footer", `option_value` = "1";
阅读文档,似乎我应该同时制作ID
(自动增量)和option_name
唯一的,我就是。有人能告诉我哪里出错了吗?谢谢。
这是我的表的创建方式(从数据库中导出表时收集的)
CREATE TABLE IF NOT EXISTS `dd_admin_branding` (
`ID` smallint(3) NOT NULL auto_increment,
`option_name` varchar(64) character set latin1 collate latin1_general_ci NOT NULL default '',
`option_value` longtext character set latin1 collate latin1_general_ci NOT NULL,
PRIMARY KEY (`ID`),
UNIQUE KEY `ID` (`ID`,`option_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;