您的位置:首页 > 其它

事物默认自动提交AUTOCOMMIT

2017-09-11 22:37 489 查看
修改为非自动提交的方式有两种:

1、# \set AUTOCOMMIT off    --注意此处的AUTOCOMMIT要大写,小写无效

highgo=# \echo :autocommit

:autocommit

highgo=# \echo :AUTOCOMMIT

on

highgo=# \set autocommit off

highgo=# \echo :AUTOCOMMIT

on

highgo=# \set AUTOCOMMIT off

highgo=# \echo :AUTOCOMMIT

off

highgo=# select * from test;

 id | name 

----+------

(0 rows)

highgo=# insert into test values (1);

INSERT 0 1

highgo=# insert into test values (2);

INSERT 0 1

highgo=# select * from test;

 id | name 

----+------

  1 | 

  2 | 

(2 rows)

highgo=# rollback;

ROLLBACK

highgo=# select * from test;

 id | name 

----+------

(0 rows)

2、显示使用BEGIN

highgo=# \echo :AUTOCOMMIT

on

highgo=# begin;                ---此处begin大小写都生效

BEGIN

highgo=# 

highgo=# select * from test;

 id | name 

----+------

(0 rows)

highgo=# insert into test values (1);

INSERT 0 1

highgo=# select * from test;

 id | name 

----+------

  1 | 

(1 row)

highgo=# rollback;

ROLLBACK

highgo=# select * from test;

 id | name 

----+------

(0 rows)

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

highgo=# show autocommit;

 autocommit 

------------

 on

(1 row)

highgo=# \set AUTOCOMMIT off

highgo=# show autocommit;

 autocommit 

------------

 on

(1 row)

highgo=# \echo :AUTOCOMMIT

off

highgo=# \echo :autocommit

:autocommit

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

show autocommit;和\echo :autocommit的区别

highgo=# \set autocommit on

highgo=# show autocommit;

 autocommit 

------------

 on

(1 row)

highgo=# \set AUTOCOMMIT OFF

highgo=# show autocommit;   

 autocommit 

------------

 on

(1 row)

highgo=# \SET AUTOCOMMIT off

Invalid command \SET. Try \? for help.

highgo=# show autocommit;

 autocommit 

------------

 on

(1 row)

highgo=# \SET autocommit off

Invalid command \SET. Try \? for help.

highgo=# \set AUTOCOMMIT off

highgo=# show autocommit;

 autocommit 

------------

 on

(1 row)

highgo=# \set autocommit off

highgo=# show autocommit;

 autocommit 

------------

 on

(1 row)

highgo=# \set autocommit  off

highgo=# show autocommit;

 autocommit 

------------

 on

(1 row)

highgo=# \echo :AUTOCOMMIT

off

highgo=# show autocommit;

 autocommit 

------------

 on

(1 row)

highgo=# \set autocommit on

highgo=# \echo :autocommit

on

highgo=# show autocommit;

 autocommit 

------------

 on

(1 row)

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: