我两个进程同时对一个表进行insert,发现会有一条数据插不进去库表,程序也不会报错,有人遇到过这个问题吗?

解决方案 »

  1.   

    我自己的猜测,是因为两个进程同时进行数据库操作,因为分属不同的事物,每个进程都会在提交之前将原数据库进行添加到缓存,每个缓存这两个缓存是一样的,当一个提交之后,数据库数据已经成功插入,第二个数据由于也是在原缓存基础上执行的insert,提交的时候会将先执行的数据覆盖。有比较熟悉的人给解答一下吗
      

  2.   

    这个不要猜,你用的是innodb吗,innodb是行锁,不会出现并发写入问题
      

  3.   


    嗯,我用的是innodb,现在是每次只要是同时过来两笔交易,后台运行都是完全正常的,日志中所有的sql也都执行了,但是后台数据库中就会少一条数据
      

  4.   

    这两笔交易是之间没有关系吧,你看的日志是开发日志还是mysql日志
      

  5.   

    开发日志看不出什么,还是看下 mysql的执行日志