它取出的就是你上一条INSERT语句插入的自增值,
产生的最后ID以每个连接为基础在服务器被维护,
它并不会因别的用户插入新的记录而改变的
也就是说,如果你插入一个新记录后
select LAST_INSERT_ID();
结果为  10之后又有其它的连接插入了一个新记录,
不用想也知如果这个连接执行
select LAST_INSERT_ID();
结果一定是   11但如果你再运行
select LAST_INSERT_ID();
呢???
结果还为  10
而你再插入一个新记录后,
你select LAST_INSERT_ID();
的结果就是 12 了,当然表记录中显示也是 12 啦 :》

解决方案 »

  1.   

    那应该是如下意思了:
    conn1执行INSERT语句,只要在conn1.close();之前任何状态执行select LAST_INSERT_ID();所查到的ID都是INSERT的ID(这期间conn1不再执行其他插入方法)。如果这期间有conn2也执行了个Insert的方法,并不影响conn1执行select LAST_INSERT_ID();得到相同的结果。conn2也执行select LAST_INSERT_ID();得到的将是Insert的ID号。
    粗解shuixin13(犬犬(心帆)) 的意思,对吗?