小编Val*_*spa的帖子

修复表结构以避免“错误:重复键值违反唯一约束”

我有一个以这种方式创建的表:

--
-- Table: #__content
--
CREATE TABLE "jos_content" (
  "id" serial NOT NULL,
  "asset_id" bigint DEFAULT 0 NOT NULL,
   ...
  "xreference" varchar(50) DEFAULT '' NOT NULL,
  PRIMARY KEY ("id")
);
Run Code Online (Sandbox Code Playgroud)

稍后插入一些行并指定 id:

INSERT INTO "jos_content" VALUES (1,36,'About',...)

稍后,一些记录被插入而没有 id 并且它们因错误而失败: Error: duplicate key value violates unique constraint

显然,id 被定义为一个序列:

在此处输入图片说明

每个失败的插入都会增加序列中的指针,直到它增加到一个不再存在的值并且查询成功。

SELECT nextval('jos_content_id_seq'::regclass)

表定义有什么问题?解决这个问题的聪明方法是什么?

postgresql database-design insert auto-increment sequence

16
推荐指数
1
解决办法
8万
查看次数

火鸟监控台

我正在使用 Firebird 2.1.1 数据库,并开始阅读有关监控表的信息。

我试图以某种方式实时查看每个客户端在数据库中执行的查询。

我看了看MON$STATEMENTS表格,但没有提供太多信息。我本来希望表格中有更多内容。

显示表格时 Flamerobin 的屏幕截图

我是不是找错地方了,还是我不明白 Firebird 监控表的目的/用途?

firebird

8
推荐指数
1
解决办法
9219
查看次数