假如A终端要插入一条记录,并且要获得刚插入的记录的id。如果还没有获得刚插入的id前,B终端却插入了一条记录,这时候,A终端有可能得到是B终端刚插入的记录的id.我想问的是这时候我们操作的表会被锁定吗

解决方案 »

  1.   

    应该不会吧!如果id设置为主键且为自增的话,B就根本不会得到A的id,所以你说的那种情况不会发生,否则如果遇到高并发,就乱套了...
      

  2.   

    mysql_insert_id  获取的id是安全独立的。你可以放心使用
      

  3.   

    mysql_insert_id()可以安全的返回a的id,至於是否會亂套的問題這是mysql自身需要處理的基本操作,你想太多了,钻了牛角尖
      

  4.   

    还是有可能的啊 
    不然为什么 sql 要 lock table 的操作? 数据库不会自己处理这种并发冲突的吧? 
      

  5.   

    那就是说看不到表里的全局数据了? 假如:  数据表有两个字段 id, url;
    规定 id 是自增,为主键。 url 保持唯一。则客户端插入一个新 url 的操作是: 先查看数据表存不存在 url, 没有则 insert, 否则什么都不做。照楼上说法: 两个客户端要插入相同一个 url,最后会插入2份?