insert
如果我们有需求是需要进行加锁,才能进行在进行insert,如果在java层次来进行加锁,会导致效率很低,我们此时就可以将之前在java层次的判断放到mysql语句中,如果条件成立才进行插入数据;
如果插入数据后,需要进行update,那么我们需要先update,在进行insert(insert中使用到了update之后的数据)
Update
update set status=0 where id=1 insert ss values("x")
如果上面的操作一下子发生,此时就可能出现插入了两条数据
int i = update set status=0 where id=1 and status=1 if (i!=0){ insert ss values("x") }
这种操作对这条数据更新之后,如果在更新,返回的就是0了