假设我这样做了(注意:下面的语法可能不正确,但不要担心......它只是为了说明一点)
Start Transaction
INSERT INTO table (id, data) VALUES (100,20), (100,30);
SELECT * FROM table WHERE id = 100;
End Transaction
因此,选择的目标是从表中获取所有信息,这些信息刚刚被前面的插入插入并且只被前面的 INSERT...
现在假设在执行过程中,在执行 INSERT 之后,其他一些用户也执行了 id = 100 的 INSERT ...
事务下一步中的 SELECT 语句是否还会获取另一个用户执行的 INSERT 插入的行,还是只会获取事务中前面的 INSERT 插入的两行?
顺便说一句,我正在使用 MySQL,所以请调整你对 MySQL 的回答