時間:2024-03-09 11:51作者:下載吧人氣:22
用過oracle或mysql的人都知道在sqlplus或mysql中,做一個dml語句,如果發現做錯了,還可以rollback;掉,但在PostgreSQL的psql中,如果執行一個dml,沒有先運行begin;的話,一執行完就馬上提交了,不能回滾,這樣容易導致誤操作的發生,有沒有什么辦法避免這個風險呢?
當然有,在psql中默認是打開自動提交的,我們可以關閉自動提交,方法如下:
test=# create table test1 (x int);
CREATE TABLE
Time: 0.593 ms
test=# select * from test1;
x
—
(0 rows)
Time: 0.309 ms
test=# rollback;
ROLLBACK
Time: 1.501 ms
test=# select * from test1;
ERROR: relation “test1” does not exist
LINE 1: select * from test1;
^
Time: 0.376 ms
網友評論