關于在事務內部先插入再查詢,是否可以查詢到這條數據的一個思考?
首先我先提出這么一個問題,不知道大家有沒有思考過。
例如在Spring Boot的業務層中,使用@Transactional注解開啟事務,然后向數據庫中插入了一條數據,隨后查詢這個表中所有的數據,你認為會不會查詢到這條數據。
我一開始理所當然的認為,事務開啟后只要未提交,數據庫并不會真正的寫入這條數據,那一定查不到,其實并非如此。
在同一個事務中,數據需要保證一致性,也就是說,在當前的事務中,這條數據刪除了就是看不到了,插入了就是多了一條數據。
但這些操作都是在當前事務內部的。對于外界是隔離的。如果我們開啟事務時插入一條數據,還沒有提交,這時新開一個事務,再去查詢數據,是發現不了未提交數據的。
有感興趣的小伙伴可以自己試一試。

浙公網安備 33010602011771號