与MSSQL相比,我试图绕过PostgreSQL中的事务。我想测试一些更新命令然后回滚,在SELECT
命令之间散布UPDATE
个查询,以确认结果符合我的预期。以下是我尝试做的简化示例:
BEGIN;
UPDATE my_table SET int_column = 1 WHERE id = 1;
-- i want to check that the column has been set to 1
SELECT * FROM int_column WHERE id = 1;
-- i want to rollback the updates while testing
ROLLBACK;
让我感到困惑的是SELECT
查询似乎提交更新,即使ROLLBACK
作为最后一个语句也是如此。如果我删除SELECT
,则回滚会阻止更新,但是如果我将其保留在那里,则实际更新了列!我必须在这里遗漏一些东西,因为在MSSQL SELECT
中可以在没有此问题的情况下在事务中使用查询。
我无法通过搜索或PostgreSQL Transaction Documentation找到有关此内容的任何详细信息。
答案 0 :(得分:0)
我使用了psql
代替Postico而我的问题已经解决,似乎Postico不支持此功能!