Postgresql默认是自动提交的,只不过在pgadmain上执行一条sql语句时,执行完毕就会提交。而当执行多个sql语句时,只有当全部执行完毕,第一个sql语句才会自动提交。
若第一个sql语句时update语句,sql全部执行完毕后,数据表才会进行update的提交,数据表才会改变,否则,数据表是不会改变的。
Postgresql默认是自动提交的,只不过在pgadmain上执行一条sql语句时,执行完毕就会提交。而当执行多个sql语句时,只有当全部执行完毕,第一个sql语句才会自动提交。若第一个sql语句时update语句,sql全部执行完毕后,数据表才会进行update的提交,数据表才会改变,否则,数据表是不会改变的。
默认情况下,AUTOCOMMIT(
自动
提交
)是开着的,也就是说任何一个SQL语句执行完毕后,它锁做的数据修改都会被立即
提交
,这种情况下每个语句都是一个独立的事务,一旦执行完毕祁结果就不可撤销。如果你需要运行大量的DML语句并且这些语句还未经充分测试,那么
自动
提交
功能会带来麻烦,此
时
有必要关闭事务
自动
移交机制来对数据进行保护。
请先关闭
自动
提交
功能:\set AUTOCOMMIT off,
我们在使用psql工具操作数据库
时
,事务是
自动
提交
的。也就是说,当我们执行完一条insert或者delete语句后,在不输入commit情况下,这条语句也是
提交
的。如果不想
自动
提交
,可以使用以下两种方法:
方法一:运行begin;命令,然后输入dml语句,最后执行commit或者rollback语句。
test=# begin;
BEGIN
test=# insert into student
PostgreSQL
可以使用uuid-ossp扩展来
自动
生成UUID。首先需要在数据库中安装uuid-ossp扩展,可以使用以下命令:
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
安装完成后,可以使用以下语句来生成UUID:
SELECT uuid_generate_v4();
这将返回一个随机生成的UUID。