[SQL] T-SQL : 어떻게 대소 문자를 구분 고유 키를 만들려면 어떻게해야합니까?
SQLT-SQL : 어떻게 대소 문자를 구분 고유 키를 만들려면 어떻게해야합니까?
어떻게 (2005 SQL 서버) 대소 문자를 구분하는 VARCHAR 필드에 고유 제한 조건을 만들려면 어떻게해야합니까?
현재 내 제약 조건은 다음과 같습니다 :
alter table MyTable
add constraint UK_MyTable_MyUniqueKey unique nonclustered (MyCol)
나는 다음과 같은 두 값을 삽입하려고하면, 나는 오류는 "UNIQUE KEY 제약 ... 위반"을 얻는다.
insert into MyTable (MyCol) values ('ABC')
insert into MyTable (MyCol) values ('abc') --causes a violation of UNIQUE KEY constraint 'UK_MyTable_MyUnqiueKey'
나는 두 개의 다른-맡았다 값이 고유로 처리하고 싶습니다. 나는 다음과 같은 코드를 포함 할 것이다 생각하지만, 내 추가 제약 구문을 변경하는 방법을 모르겠어요.
COLLATE SQL_Latin1_General_CP1_CS_AS
해결법
-
==============================
1.이 경우 민감한 것으로 열을 변경합니다. 나는 당신의 제약 조건에 어떤 변화가 있다고 생각하지 않습니다 ...
이 경우 민감한 것으로 열을 변경합니다. 나는 당신의 제약 조건에 어떤 변화가 있다고 생각하지 않습니다 ...
ALTER TABLE mytable ALTER COLUMN mycolumn VARCHAR(10) COLLATE SQL_Latin1_General_CP1_CS_AS
이 칼럼에 상관 선택 또는 결합이 동작의 결과로서 대소해질 것이다.
-
==============================
2.당신은 데이터베이스에있는 데이터의 대소 문자 구분 (컬럼의 가장 작은 단위)을 설정할 수 있습니다. 당신은 인덱스의 경우 감도를 설정할 수 없습니다 - 그 어떤 데이터베이스에 수 있지만은 SQL Server 표현에 인덱스 할 수있는 동등 할 것이다.
당신은 데이터베이스에있는 데이터의 대소 문자 구분 (컬럼의 가장 작은 단위)을 설정할 수 있습니다. 당신은 인덱스의 경우 감도를 설정할 수 없습니다 - 그 어떤 데이터베이스에 수 있지만은 SQL Server 표현에 인덱스 할 수있는 동등 할 것이다.
from https://stackoverflow.com/questions/485359/t-sql-how-do-i-create-a-unique-key-that-is-case-sensitive by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] SQL 서버 2008 IIF 문을 사용할 것 같지 않습니다 (0) | 2020.06.28 |
---|---|
[SQL] BY 쿼리 그룹으로 비율을 계산 (0) | 2020.06.28 |
[SQL] SA 비밀번호를 복구 [폐쇄] (0) | 2020.06.28 |
[SQL] 동의어 대 뷰를 사용하는 장점 / 단점은 무엇입니까? (0) | 2020.06.28 |
[SQL] 사용자 지정 ODBC 드라이버를 만들기 (0) | 2020.06.28 |