说明
-
mysql本身对非自增长主键,使用last_insert_id()是不会返回结果的,只会返回0;
-
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定义主键自增 3)mycat对应sequence_db_conf.properties增加相应设置
TABLE1=dn1
4)在数据库中mycat_sequence表中增加TABLE1表的sequence记录 测试使用: Myibatis中新增记录后获取last_insert_id的示例: