我正在尝试并成功在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
但它允许我上传重复的值
据我所知主键应包含唯一值
我做错了吗?
答案 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;
id
列充当primary key
。从表中删除任何记录不会影响其他值的排序,id列可用于唯一标识后续行。