小编use*_*174的帖子

为什么我的 UNIQUE 约束没有触发?

我有这个UNIQUE限制:

ALTER TABLE table ADD CONSTRAINT "abc123" UNIQUE
("col1", "col2", "col3", "col4", "col5", "col6", "col7", "col8");
Run Code Online (Sandbox Code Playgroud)

然后我这样做:

INSERT INTO table ("col1", "col2", "col3", "col4", "col5", "col6", "col7", "col8") 
VALUES ('a', 'b', 'c', 'd', 'e', 'f', null, true);
INSERT INTO table ("col1", "col2", "col3", "col4", "col5", "col6", "col7", "col8") 
VALUES ('a', 'b', 'c', 'd', 'e', 'f', null, true);
Run Code Online (Sandbox Code Playgroud)

两者都有效。两行已添加到表中。从逻辑上讲,第二个应该失败。但事实并非如此。

我究竟做错了什么?这让我发疯。

注意:如果这是我自己的数据,我将拥有一个真正独特的列,而不是这个“疯狂”的UNIQUE约束。问题是这个表保存了我的银行帐户的记录,而且他们愚蠢地在 CSV 转储中没有真正的“唯一”列,我可以用它来实际确保不插入重复的行,所以我有提出一个组合整个表中所有列以确定唯一性的方法。

postgresql null unique-constraint

14
推荐指数
2
解决办法
9798
查看次数

是否有某种方法可以自动“关注”/预先确定稳定版/GA PostgreSQL 14 的发布日期?

我目前安装了 PostgreSQL 12.x。我正在推迟为 PostgreSQL 14 版本重新安装 Windows,因为出于迷信的原因,我想跳过整个 13 代。是的,你听到的是对的。我真的很害怕运行“13”版本,我已经竭尽全力避免它,永远等待 PG 14。因为它需要一个可怕的转储/恢复,我也想避免这样做两次在“短”连续。

关于 PostgreSQL 14 Beta 的说明

此版本标志着 PostgreSQL 14 的第三个 Beta 版本,并使社区在第三季度末初步接近全面可用。

资料来源:https : //www.postgresql.org/about/news/postgresql-134-128-1113-1018-9623-and-14-beta-3-released-2277/

我还发现了这个:https : //www.postgresql.org/docs/14/release-14.html

发布日期:2021-??-?? (截至 2021-06-20)

这可能会定期更新吗?或将再次它实际上它只是设置释放?

我正在尝试能够自动获取目标日期,以便我可以将 PG 14 版本自动放入我的日历和“倒计时”中,以便我可以期待它。

“第三季度末”的说法听起来好像很快就要到期了,但如果它还没有处于“RC”模式,那对我来说听起来不太有希望。

PS:无论声称13.x多么可靠和无问题,我仍然无法摆脱它会永久破坏我所有数据的感觉。

postgresql postgresql-13

-1
推荐指数
1
解决办法
73
查看次数