我做了一张桌子:
id int,
name varchar(50),
addr varchar(50),
location varchar(20)
现在我想将addr
列设为PRIMARY KEY COLUMN
。我试过一个剧本:
alter table aaa
add constraint pk_addr primary key(addr)
但它显示错误,该列中的数据也是NOT NULL
和UNIQUE
。我的问题是,我们可以将varchar
列设为primary key
,如果是,则上述alter
列脚本是否正确。
答案 0 :(得分:2)
您必须指定列aaa
不可为空:
create table aaa (id int, name varchar(50), addr varchar(50), location varchar(20));
alter table aaa alter column addr varchar(50) not null;
alter table aaa add constraint pk_addr primary key(addr);