没有重复值的主键

时间:2017-02-23 10:45:13

标签: sql amazon-redshift

我正在尝试并成功在Redshif中创建主键

   create table my_table(id int ,
    primary key(id));


insert into my_table values
(id),
(1),
(1),
(20);

select count(*) from my_table

3

但它允许我上传重复的值

据我所知主键应包含唯一值

我做错了吗?

1 个答案:

答案 0 :(得分:0)

创建一个identity key,它将作为auto_increment代理键。这将同时用于 - 唯一地标识表中的记录并防止插入重复值。

让我们创建一个虚拟表:

create table scratchpad.test_1
(id bigint identity(1,1),
name varchar(10));

insert into scratchpad.test_1(name)
values
('a'),('b'),('c'),('d');

select * from scratchpad.test_1;

enter image description here

id列充当primary key。从表中删除任何记录不会影响其他值的排序,id列可用于唯一标识后续行。

enter image description here