我有一个主服务器和从服务器(不同的机器)并且从一个重复的输入错误中停止了从服务器。如果我在从属服务器上运行导致错误的查询(我可以通过SHOW SLAVE STATUS查看该查询)(当复制停止时)没有错误,但是此查询停止了从服务器(事实上,如果我尝试使用START SLAVE重新启动复制时,会再次出现错误)。为什么正确的查询(我可以在没有错误消息的奴隶上运行它)可以停止复制?
CREATE TABLE `table` (
`a` int(9) unsigned NOT NULL AUTO_INCREMENT,
`b` varchar(255) NOT NULL,
`c` varchar(25) DEFAULT NULL,
`d` char(40) NOT NULL,
`e` char(64) DEFAULT NULL,
`f` varchar(255) NOT NULL,
`g` varchar(100) NOT NULL,
`h` varchar(25) NOT NULL,
`i` enum('disabled','enabled') DEFAULT 'disabled',
`j` enum('disabled','enabled') DEFAULT 'disabled',
`k` enum('disabled','enabled') DEFAULT 'disabled',
`l` enum('production','sandbox') CHARACTER SET latin1 NOT NULL DEFAULT 'production',
`m` enum('active','uninstalled') NOT NULL DEFAULT 'active',
`n` datetime NOT NULL,
`o` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
`p` int(11) DEFAULT NULL,
`q` char(40) DEFAULT NULL,
`r` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`s` char(40) DEFAULT NULL,
PRIMARY KEY (`a`),
UNIQUE KEY `b_d_index` (`b`,`d`),
KEY `e` (`e`),
KEY `f` (`f`),
KEY `g` (`g`),
KEY `h` (`h`),
KEY `i` (`i`),
KEY `j` (`j`),
KEY `k` (`k`),
KEY `l` (`l`),
KEY `m` (`m`),
KEY `n` (`n`),
KEY `o` (`o`),
KEY `p` (`p`),
KEY `d` (`d`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC
Error 'Duplicate entry 'B-D' for key 'b_d_index'' on query. Default database: 'database_name'. Query:
INSERT INTO `table`
SET `b` = 'B',`c` = 'C',`d` = 'D',`e` = 'E',`f` = 'F',`g` = 'G',`h` = 'H',`i` = 'I',`j` = 'J',`k` = 'K',`l` = 'L',`m` = 'M',`n` = NOW(),`o` = NOW(),`p` = NULL,`q` = 'Q',`r` = NOW()
ON DUPLICATE KEY UPDATE `c` = 'C',`d`= 'D',`e`='E',`f`='F',`g`='G',`h`='H',`i`='I',`j`='J',`k`='K',`l`='L',`m`='M',`o`='2012-12-19 14:06:34'
提前致谢。