【发布时间】:2019-08-04 23:21:45
【问题描述】:
我什么都没做。我只是运行这个命令DELETE FROM feed_republic。但我想再次获取我的数据。我该怎么办?
当我运行rollback 时,我收到以下消息。请帮忙!
WARNING: there is no transaction in progress
与这个问题Can I rollback a transaction I've already committed? (data loss) 不同,我没有使用任何提交或任何其他命令。
【问题讨论】:
-
不能回滚已经提交的事务。
-
我没有使用commit命令。那么,我的数据库是不是提交了呢?
-
恐怕没有直接的方法可以恢复数据。我希望你没有在生产中这样做。我相信你是 Postgres 的新手。它不像 Oracle,默认情况下 dmls 在作为单个语句运行时可以回滚。在 Postgres 中,除非您在事务中运行语句,否则语句会自动提交,以
BEGIN;开头 -
已提交。您在事务范围之外执行了操作,因此它会自动提交。
标签: sql postgresql transactions commit rollback