26MyCat - 自增长主键

说明

  1. mysql本身对非自增长主键,使用last_insert_id()是不会返回结果的,只会返回0;

  2. mysql只会对定义自增长主键,可以last_insert_id()返回主键值;

MyCAT目前提供了自增长主键功能,但是如果对应的mysql节点上数据表,没有定义auto_increment,那么在MyCAT层调用last_insert_id()也是不会返回结果的。

正确配置方式如下

1)mysql定义自增长组件

CREATE TABLE table1
(‘id_’ INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
‘name_’ INT(10) UNSIGNED NOT NULL,
PRIMARY KEY (‘id_’)) ENGINE=MYISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

2)mycat定义主键自增
26MyCat - 自增长主键_第1张图片
3)mycat对应sequence_db_conf.properties增加相应设置

TABLE1=dn1

4)在数据库中mycat_sequence表中增加TABLE1表的sequence记录
测试使用:
26MyCat - 自增长主键_第2张图片
Myibatis中新增记录后获取last_insert_id的示例:
26MyCat - 自增长主键_第3张图片

你可能感兴趣的:(#,中间件,-,MyCat)