照以下順序,可以發現在merge table裡會同步t1, t2的insert, update, delete。
但於merge裡只能有select, update及delete的操作,不支援insert。
1
CREATE TABLE IF NOT EXISTS `t1` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`message` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
2
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`message` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
INSERT INTO `t1` (`id`, `message`) VALUES
(1, 't1的第一筆'),
(2, 't1的第二筆');
3
(1, 't1的第一筆'),
(2, 't1的第二筆');
CREATE TABLE IF NOT EXISTS `t2` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`message` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
4
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`message` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `merge` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`message` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MRG_MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
UNION=(`t1`,`t2`);
5
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`message` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MRG_MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
UNION=(`t1`,`t2`);
INSERT INTO `t2` (`id`, `message`) VALUES
(1, 't2的第一筆');
(1, 't2的第一筆');
沒有留言:
張貼留言