Sql 查询在不同的选项卡中返回不同的结果
Posted
技术标签:
【中文标题】Sql 查询在不同的选项卡中返回不同的结果【英文标题】:Sql queries returning different results in different tabs 【发布时间】:2014-10-18 17:04:31 【问题描述】:我一直在一个查询窗口上执行一些 SQL 命令(各种插入、更新和删除),当我在同一个查询窗口中检查结果时,这些查询执行了,但是当我在其他命令窗口中检查关于命令的结果,就好像我什么都没执行过一样。
例如,在我原来的查询窗口中
DELETE FROM emBaseSocios
然后我执行
SELECT * FROM emBaseSocios
当然什么也不返回
但是如果我打开另一个指向同一个数据库的窗口并执行
SELECT * FROM emBaseSocios
它返回删除之前存在的所有行,就像什么都没发生一样 当我尝试在那里删除时会花费太多时间
这可能是什么问题?
【问题讨论】:
你在使用事务吗? 添加“提交;”删除后。 如果您使用的是快照隔离级别,这是意料之中的 - 在您提交之前,第二个连接不会知道您的更改任何信息 b> 他们在第一个查询窗口! 我使用了一些没有事务的查询和已经提交的查询。 在第一个查询窗口中,运行WHILE @@TRANCOUNT > 0 COMMIT;
【参考方案1】:
“这可能是什么问题?”
问题 cmets 中的事务性内容当然“可能”是问题所在。但是,另一种可能性是这些窗口实际上并未连接到同一个 DB/Instance/Server。如果您有多个数据库副本或您在它们之间切换的非常相似的数据库,则完全有可能混淆——我已经做到了。
您可以采取的一种方法来帮助自己避免这种情况,即为每个连接自定义状态栏的颜色。 Here are some instructions.
【讨论】:
以上是关于Sql 查询在不同的选项卡中返回不同的结果的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 React Navigation 5.x 在不同的选项卡中重置堆栈