Java教程

[zebra源码]insert后获取自增值的处理

本文主要是介绍[zebra源码]insert后获取自增值的处理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

sql语句:

(1) insert into [table] xx  values(x,x,xx);
(2) select @@Identity; 或 select last_insert_id();

比如这种常见的 insert 后要获取自增主键值的, 需要在同一个连接同一个statement操作

如先 Statement#executeUpdate("insert into [table] xx  values(x,x,xx);") , 然后再用同一个statement#executeQuery("select @@Identity;") 获取自增值

  1. 执行第一条语句后 zebra 会先把第一条sql语句执行后 原生 jdbc Statement#getGeneratedKeys() 返回的 ResultSet 缓存在ShardStatement 里
  2. 等后面的语句执行到 select @@identity; 的时候 直接返回 generatedKey
这篇关于[zebra源码]insert后获取自增值的处理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!