你不需要这样做。事实上,你不能有相反的行为。在事务提交之前,没有办法使你新插入的行可见。 尽管对于并发的SELECT而言,它是不可见的,但仍然会影响并发的INSERT(或UPDATE)。具体而言,如果你尝试在两个不同的事务中插入相同的值到唯一索引中,其中一个事务将被阻塞,直到另一个事务提交或回滚。然后它将决定是否需要引发唯一违规错误,或者是否可以继续进行。因此,尽管你无法直接看到未提交的数据,但有时你可以看到其副作用。
INSERT
操作,除非该事务发出COMMIT
命令,否则其他连接将看不到它。无需执行任何额外的锁定操作。 - jmelesky