【发布时间】:2017-09-18 15:06:17
【问题描述】:
我在 PostgreSQL 数据库中创建了一个名为“链接”的表。然后我创建了另一个与'link'结构相同的表'link_copy'
CREATE TABLE link (
id select PRIMARY KEY,
url VARCHAR(255) NOT NULL,
name VARCHAR(255) NOT NULL);
CREATE TABLE link_copy (LIKE link);
我将 'id' = 2 的行从“link”复制到“link_copy”。之后,我将所有行从“link”复制到“link_copy”。我很惊讶在 'link_copy' 中看到两次 'id' = 2 的行。 如果我选择了 'id' 列作为主键(默认情况下是 UNIQUE NOT NULL),那么为什么它允许在 'link_copy' 中插入两次 'id' = 2 行?
我在 Mac 上使用带有 pgadmin III 的 postgresql 9.5。
【问题讨论】:
-
CREATE TABLE link ( id select PRIMARY KEY, ... );这不会出错? -
向我们展示创建表格的代码,就像您拥有的一样。
-
@OtoShavadze 我已经更新了代码。所有代码都在 SQL 编辑器上成功运行。我还添加了最终截图。
标签: sql postgresql