【发布时间】:2012-05-03 05:47:12
【问题描述】:
我有一个 postgres 8.3.4 数据库。在三元组 UNIQ(name, id, age) 上存在具有唯一约束的名称表。不知何故,有几行已添加到数据库中,导致违反此约束。
我的问题是这怎么可能?当添加了违反约束的第一行时,数据库不应该抛出错误吗?
名称:文本
id : 不为空的整数(fk 到 id 表)
年龄:整数
【问题讨论】:
-
PostgreSQL 8.3 不再受支持。如果由于某种奇怪的原因无法更新到当前版本 (9.x),那么您至少应该更新到最新的 8.3 版本,即 8.3.18。
-
你确定名字是一样的吗?您是否控制了尾随空格?而且,正如许多人已经评论的那样,升级到当前版本的 PostgreSQL 是明智之举:postgresql.org/support/versioning
标签: database postgresql constraints unique-constraint