请帮我理解背后的用例SELECT ... FOR UPDATE.
问题1:以下是SELECT ... FOR UPDATE应该何时使用的一个很好的例子?
鉴于:
该应用程序希望列出所有房间及其标签,但需要区分没有标签的房间与已移除的房间.如果未使用SELECT ... FOR UPDATE,可能发生的情况是:
[id = 1][id = 1, name = 'cats'][room_id = 1, tag_id = 1]SELECT id FROM rooms;
returns [id = 1]DELETE FROM room_tags WHERE room_id = 1;DELETE FROM rooms WHERE id = 1;SELECT tags.name FROM room_tags, tags WHERE room_tags.tag_id = 1 AND tags.id …