【巨杉数据库Sequoiadb】对主键和唯一索引键相同的表修改存储引擎为Sequoiadb,修改失败。

【问题描述】
用Nivacat连接mysql实例。通过数据传输导入一批表,修改这些表的引擎为sequoiadb。其中有一个表修改失败,报错:error 40291 from storage engine。
其建表语句为:
CREATE TABLE ‘sys_district'(

 'id' int(11) NOT NULL COMMENT '三级联动-区县级表', 
 'city_id' int(11) DEFAULT NULL COMMENT '城市id', 
 'district_name' varchar(100) DEFAULT NULL COMMENT '地区名称', 
 'short_name' varchar(40) DEFAULT NULL COMMENT '简称', 
 'create_time' varchar(40) DEFAULT NULL COMMENT '创建时间', 
 'update_time' varchar(40) DEFAULT NULL COMMENT '更新时间', 
 PRIMARYKEY('id'), 
 UNIQUE KEY 'sys_district_id' ('id') USING BTREE, 
 KEY 'sys_district_city_id' ('city_id') USING BTREE, 
 KEY 'sys_district_distruct_name' ('distruct_name') USING BTREE 
 )ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='区县级表; 

【解决办法】
40291对应Sequoiadb的 -291 错误(-291:已经存在一个可以处理本场景的索引)。
从建表语句可以看出,主键‘id’(PRIMARYKEY(‘id’))和唯一索引’id’( UNIQUE KEY ‘sys_district_id’ (‘id’) )重复了。

    原文作者:RaymondRMork
    原文地址: https://segmentfault.com/a/1190000020053579
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞