docker run
ClassId可以有多个基本ID,但不能重复 我想写一个条件如果任何ClassId有重复的行具有相同的BaseId' s
I'm new to sql and
have a table dbo.Student
**column** **datatype**
Student Id Primary Key int not null
ClassId Foriegn Key int not null
BaseId Foriegn Key int not null
答案 0 :(得分:2)
您可以使用以下查询来检查表格中是否有任何重复的行
select ClassId,baseid, COUNT(*) NumberOfDuplicate
from student
group by ClassId,baseid
having count(*) >1
答案 1 :(得分:1)
SQL Server中存在“唯一”约束。您可以向该列添加一个,它将阻止输入该列值不唯一的行。对于非键的列,允许使用唯一约束。
这个SO答案有gui解决方案和脚本解决方案:
stackoverflow.com/questions/5181877/
相关答案的要点:
ALTER TABLE TableName ADD CONSTRAINT ConstraintName UNIQUE(ColumnName1, ColumnName2)
这将对Column1和Column2的组合设置唯一约束。
在SSMS对象资源管理器中,如果展开表格并查看“关键点”以查看约束。
GUI步骤:
Open SQL Server Management Studio.
Expand the Tables folder of the database where you want to create the
constraint.
Right-click the table where you want to add the constraint and click Design.
In the Table Designer menu, click Indexes/Keys.
In the Indexes/Keys dialog box, click Add.
Choose Unique Key in the Type drop-down list.