MSSQL中如何将两列设为唯一

MSSQL中如何将两列设为唯一,第1张

你可以把B列和C列,设置为复合主键

ALTER TABLE A ADD CONSTRAINT [PK_A] PRIMARY KEY CLUSTERED

(

B ASC,

C ASC

) ON [PRIMARY]

这是知道的另外一个问题的解答http://zhidao.baidu.com/link?url=gWRjg3hWddHGtbaEKjsZ8mLG4v-Yu_oCuqwhKpVSv6Osd8o_r4ElXu9n1CzaO5l6U1HmKivT7JYDLA4lLGYqPq

MSSQL是什么?MySQl ?

MySQL中有唯一性约束的列能为空。

唯一约束保证在一个字段或者一组字段里的数据与表中其它行的数据相比是唯一的,允许为空,但只能出现一个空值。对字段使用了Unique约束,可以当主键在数据库中使用。约束名的命名规则推荐采用“约束类型_约束字段”这样的形式。

扩展资料:

当唯一约束和主键都强制唯一性时,如果满足下列条件,则应将唯一约束而不是主键约束附加到表上:

1、希望在列或列的组合中强制唯一性。可将多个唯一约束附加到表,但是只能将一个主键约束附加到表。

2、希望在允许空值的列中强制唯一性。可将唯一约束附加到允许空值的列,但是只能将主键约束附加到不允许空值的列。当将唯一约束附加到允许空值的列时,请确保在约束的列中最多有 一行包含空值。

(1) select b,b+'('+stuff((select ','+a from tab t2 where t2.b=t1.b for xml path('')),1,1,'')+')' as result from tab t1 group by b

(2) select b,'('+stuff((select ','+a from tab t2 where t2.b=t1.b for xml path('')),1,1,'')+')' as result from tab t1 group by b

(3) select b+'('+stuff((select ','+a from tab t2 where t2.b=t1.b for xml path('')),1,1,'')+')' as result from tab t1 group by b

看哪个你要的。

至于为什么可以这样,请百度T-SQL的for xml path。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5911160.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-08
下一篇 2023-03-08

发表评论

登录后才能评论

评论列表(0条)

保存