Sql 当其他用户在同一个表上插入记录时,选择查询输出

Sql 当其他用户在同一个表上插入记录时,选择查询输出,sql,Sql,如果另一方同时在同一个表中插入数据,select查询的输出将是什么?select将只显示提交到数据库的内容。如果用户正在编辑,但尚未提交,它将显示已经存在的内容。如果数据是在select实际发生之前提交的,您将看到新的值。对于正确实现ACID原则的DBMS,select语句的结果在执行期间不会更改。从逻辑上讲,您可以想象数据库在查询开始时对所有数据进行快照,并且只从快照中检索数据。当然,从物理上讲,这不是通过在运行查询之前复制该数据来完成的 此快照拍摄的最常见实现称为。该名称指示在后台发生的情况

如果另一方同时在同一个表中插入数据,select查询的输出将是什么?

select将只显示提交到数据库的内容。如果用户正在编辑,但尚未提交,它将显示已经存在的内容。如果数据是在select实际发生之前提交的,您将看到新的值。

对于正确实现ACID原则的DBMS,select语句的结果在执行期间不会更改。从逻辑上讲,您可以想象数据库在查询开始时对所有数据进行快照,并且只从快照中检索数据。当然,从物理上讲,这不是通过在运行查询之前复制该数据来完成的

此快照拍摄的最常见实现称为。该名称指示在后台发生的情况:对于每一行,数据库保留多个版本,这些版本对读取该数据的事务有效


以上假设事务至少使用读提交隔离级别。如果当前事务使用允许脏读的读未提交隔离级别,则上述情况将不正确

如果启用自动提交。。?我是说自动提交是如何工作的。。在插入总记录之后或在每行插入之后…?这实际上取决于您使用的具体RDBMS-并非所有RDBMS都以相同的方式处理此问题。。。。。