sqlserver中为什么我添加唯一约束的列会被报错?

sqlserver中为什么我添加唯一约束的列会被报错?

如果已经存在的表中是有数据的,那么你不能用一句SQL实现你的目标。
因为,如果表中已经有数据,那么你创建的新列,在已有的记录中要么是空值,要么是你设置的缺省值,因此所有记录中,该列的值都是一样的,因此对该列不能建立唯一性约束。
可采用两种做法:
1.删除原表的所有数据,就可以创建;
2.先不建立唯一约束,只建立列,然后给每行记录的该列赋于不同的值。
然后再设置该列为非空;
然后再为该列设置唯一约束。追问

你好,关于你的第二种做法想请教下:也就是alter table FirstClass add id int ;但是想问下“然后给每行记录的该列富裕不同的值”,这怎么做呢?

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答
大家正在搜