我试图在我的 postgreSQL 数据库中创建一个死锁,但我得到的错误并不是我所期望的:
ERROR: current transaction is aborted, commands ignored until end of transaction block
SQL state: 25P02
Run Code Online (Sandbox Code Playgroud)
我的设置基本上是这两者的混合:
我打开了 pgAdmin 4 的两个浏览器窗口,并有两个查询窗口。具有以下内容之一:
BEGIN;
UPDATE "Products"
SET "Price" = "Price" * 0.03
WHERE "PID" = 1
RETURNING *;
UPDATE "Products"
SET "Price" = "Price" * 0.03
WHERE "PID" = 2
RETURNING *;
COMMIT;
Run Code Online (Sandbox Code Playgroud)
另一种是使用这个:
BEGIN;
UPDATE "Products"
SET "Price" = "Price" * 3
WHERE "PID" = 2
RETURNING *;
UPDATE "Products"
SET "Price" = "Price" * 0.03
WHERE …
Run Code Online (Sandbox Code Playgroud)