0

这是一个例子:

create database users;
create table users (id int unique);

然后一起运行:

insert into users values(1);
insert into users values(1);

我预计第一次插入会成功,但第二次会失败。但是我看到的是它们是原子运行的,并且没有插入任何行。以下是日志:

2021-11-08 23:04:37.825 UTC [181] LOG:  statement: insert into users values(1);
    insert into users values(1);

2021-11-08 23:04:37.825 UTC [181] ERROR:  duplicate key value violates unique constraint "users_id_key"
2021-11-08 23:04:37.825 UTC [181] DETAIL:  Key (id)=(1) already exists.
2021-11-08 23:04:37.825 UTC [181] STATEMENT:  insert into users values(1);
    insert into users values(1);

令人困惑的是没有BEGIN;or COMMIT;。具有多个命令的语句是否以原子方式运行?

- 编辑 -

我正在使用 Postico 客户端来运行这些语句。

4

0 回答 0