ubuntu系统下使用mycat实现分库分表(二)使用本地文件处理主键自增长

在上一篇的文章中实现了mycat的分库分表,https://blog.csdn.net/java_chegnxuyuan/article/details/89891519

但是按照上一篇文章操作时,会发现虽然我们对逻辑数据库的的主键设置自增长,但是进行insert操作时,如果不管id时insert会出错。这就是这篇文章要解决的问题。

在上一篇中我们设置了

<system>
        <property name="defaultSqlParser">druidparser</property>  
                <property name="mutiNodeLimitType">1</property>  
        <property name="serverPort">8066</property>  
        <property name="managerPort">9066</property> 
        <property name="sequnceHandlerType">0</property>
    </system>        

这个<property name="sequnceHandlerType">0</property>表示我们使用本地文件的方式处理主键自增长

修改配置文件sequence_conf.properties 

GLOBAL.HISIDS=    表示使用过的历史分段(一般无特殊需要可不配置)

GLOBAL.MINID=10001  表示最小ID值

GLOBAL.MAXID=20000   表示最大ID值

GLOBAL.CURID=10000  表示当前ID值

保存重启

扫描二维码关注公众号,回复: 6202013 查看本文章
insert into item(id,name,age,score) values(next value for MYCATSEQ_GLOBAL,'test',20,100);

即可insert成功,但是这和我们平常写的sql不一样。

第二种方式:

我们在第一篇文章中配置了table的名称为item

在sequence_conf.properties 中添加

ITEM.HISIDS=    表示使用过的历史分段(一般无特殊需要可不配置)

ITEM.MINID=10001  表示最小ID值

ITEM.MAXID=20000   表示最大ID值

ITEM.CURID=10000  表示当前ID值

需要特别注意的是这里配置时,必须用table名称的大写

保存重启

insert into item(name,age,score) values('test',20,100);

猜你喜欢

转载自blog.csdn.net/java_chegnxuyuan/article/details/89892518