mysql MERGE 错误(differently defined or of non-MyISAM type)

错误代码:
Error Code : 1168
Unable to open underlying table which is differently defined or of non-MyISAM type or doesn't exist

出现这样的错误原因是:
表结构不一样或者表字段没有包含varchar类型。
如:
CREATE TABLE `website0001` (                                                                                      
                 `id` int(11) NOT NULL AUTO_INCREMENT,                                                                                              
                 `siteBigType` int(11) DEFAULT NULL,                                                                                                                                                             
                 `siteSmallType` int(11) DEFAULT NULL,                                                                                                                                   
                 `siteWorth` varchar(15) DEFAULT '0' COMMENT '网站价值',                                                                             
                 `date` date DEFAULT NULL,                                                                                                            
                 PRIMARY KEY (`id`)                                                                                                                                                                           
               )ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC  


CREATE TABLE `website0001` (                                                                                      
                 `id` int(11) NOT NULL AUTO_INCREMENT,                                                                                              
                 `siteBigType` int(11) DEFAULT NULL,                                                                                                                                                             
                 `siteSmallType` int(11) DEFAULT NULL,                                                                                                                                   
                 `siteWorth` varchar(15) DEFAULT '0' COMMENT '网站价值',                                                                             
                 `date` date DEFAULT NULL,                                                                                                            
                 PRIMARY KEY (`id`)                                                                                                                                                                           
               )ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC  

CREATE TABLE `allwebsite` (                                                                                                       
                `id` int(11) NOT NULL AUTO_INCREMENT,                                                                                              
                 `siteBigType` int(11) DEFAULT NULL,                                                                                                                                                             
                 `siteSmallType` int(11) DEFAULT NULL,                                                                                                                                            
                 `siteWorth` varchar(15) DEFAULT '0' COMMENT '网站价值',                                                                             
                 `date` date DEFAULT NULL,                                                                                                             
		index(`id`)							
               )ENGINE=MERGE UNION=(website0001,website0002) INSERT_METHOD=LAST AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

如果我把siteWorth字段类型换成int,那么就会出现该错误。这个是让我想不通的。也是比较难找的错误原因。因为从表面上,表结构都是一样了。怎么还会报错误。

你可能感兴趣的:(mysql MERGE)