MySQL-关于并发下的mysql_insert_id()
2013-11-21 11:36
267 查看
我们在写数据库程序的时候, 经常会需要获取某个表中的最大序号数, 或者刚插入的数据的ID值, 一般情况下获取刚插入的数据的id, 使用select max(id) from table 是可以的, 但在多线程, 高并发的情况下, 就不行了m 开始的时候我想的是使用mysql_insert_id(), 不知道会不会在并发的时候产生影响, 查询了下手册, 也是才发现, 是根据connection来的, 不同用户间不会产生影响, 所以也不用去想先把表锁起来, 插入取得ID值后再解锁, 直接正常插入, 然后取值即可, 同理在命令行下执行select last_insert_id();或者select @@IDENTITY;返回的都是本会话下的上次插入的值, 即使另开一个会话插入一条数据, 在本会话下这两个值也不会变!
相关文章推荐
- 关于Mysql LAST_INSERT_ID()使用
- Mysql 关于last_insert_id() 函数的用法
- MYSQL中的LAST_INSERT_ID()和MSSQL中的@@IDENTITY
- 关于MYSQL不能INSERT的问题
- mysql insert获取自身id等高级应用
- 在同一个表中关于 INSERT...SELECT MAX(x)+1 中引起的错(mysql)
- mysql函数之六:mysql插入数据后返回自增ID的方法,last_insert_id(),selectkey
- 辛星浅析MySQL中的last_insert_id()
- mysql插入信息后并读取该信息(mysql_insert_id )
- MYSQL 小技巧 -- LAST_INSERT_ID
- mysql中的LAST_INSERT_ID
- Mysql实现数据的不重复写入(insert if not exists)以及新问题:ID自增不连续的解答
- mysql last_Insert_id()用法
- MYSQL LAST_INSERT_ID() 自增列详解
- MYSQL之LAST_INSERT_ID()语句
- MySQL的LAST_INSERT_ID用法
- 【MySQL笔记】last_insert_id()函数使用的注意事项
- MySQL的LAST_INSERT_ID用法
- MySQL生产库Insert了2次同样的记录但是主键ID是不一样的问题的分 4000 析过程
- 关于mysql的自增id测试,innodb和myisam下的不同表现