Settings | Sign in | Sign up

The author has 2 posts.

psql中可以撤销

Floor 1 巨大八爪鱼 8/12/12 19:10
mydb=# create table num(
mydb(# id int,
mydb(# value int);
CREATE TABLE
mydb=# insert into num values (1,17),(2,68),(3,-34);
INSERT 0 3
mydb=# select * from num;
 id | value
----+-------
  1 |    17
  2 |    68
  3 |   -34
(3 rows)

mydb=# begin;
BEGIN
mydb=# savepoint m;
SAVEPOINT
mydb=# update num set value=9;
UPDATE 3
mydb=# select * from num;
 id | value
----+-------
  1 |     9
  2 |     9
  3 |     9
(3 rows)

mydb=# roolback to m;
ERROR:  syntax error at or near "roolback"
LINE 1: roolback to m;
        ^
mydb=# rollback to m;
ROLLBACK
mydb=# select * from num;
 id | value
----+-------
  1 |    17
  2 |    68
  3 |   -34
(3 rows)

mydb=# commit;
COMMIT
mydb=#

Floor 2 巨大八爪鱼 8/12/12 19:11
update num set value=9;
这个例子中不小心写错了一个语句导致表中每条记录的value字段都被改成了9
然后使用rollback撤销了这个操作,数据表恢复正常。

Content converter:

Reply the post
Content:
User: You are currently anonymous.
Captcha:
Unclear? Try another one.