有这么一种情况,就是1. select .. from .. where..
来查询一个人是否存在2. insert ..
如果此人存在,那么就插入到另一个表中。
但是由于并发,导致session 2在session 1进行完第一步的时候,将此人删除了。
此时session 1还不知道,造成了session 1执行成功,插入了一条无效的数据(因为此人在session 2已经被删除了)这种情况如何做呢?
来查询一个人是否存在2. insert ..
如果此人存在,那么就插入到另一个表中。
但是由于并发,导致session 2在session 1进行完第一步的时候,将此人删除了。
此时session 1还不知道,造成了session 1执行成功,插入了一条无效的数据(因为此人在session 2已经被删除了)这种情况如何做呢?
楼主可以好好看一下 "lock table" 方面的资料.
到底是设置成串行化好呢?还是LOCK TABLES好呢?
如果是InnoDB引擎,可以通过设置隔离级来做。