insert执行完以后执行查询:
select last_insert_id() as ID from TBL_NAME limit 1;
就可得到最新插入的序号,这个函数是线程独立的,不会受到其他用户插入操作的影响。
select last_insert_id() as ID from TBL_NAME limit 1;
就可得到最新插入的序号,这个函数是线程独立的,不会受到其他用户插入操作的影响。
调试欢乐多
我在第一台插入一条数据后,执行你说的select last_insert_id() as ID from TBL_NAME limit 1;返回的数据是39。
然后在另一台机器插入一条数据,执行你说的语句返回40,再转到第一台机器,返回的还是39,我想要的就是这个结果。
不过不知道你说的这个方法与其他的数据库产品是否兼容,比如oracle,因为我的程序有可能还要在oracle运行。
非常感谢你的帮助。
create sequence seq1;
使用它来写id
insert into table1(id) values(seq1.nextval);
而后
select seq1.currval from dual;获得刚才插入的序列值
获取的值在事务内部是独立的,不受其他事务干扰