문자열 열에 정의 된 기본 키가있는 테이블과 동일한 값이지만 대소 문자가 다른 여러 행을 만들려고합니다.대/소문자 구분 카탈로그 만들기
기본적으로 SQL Server에서는 허용하지 않습니다. SQL Server에 허용되는 방법이 있습니까?
문자열 열에 정의 된 기본 키가있는 테이블과 동일한 값이지만 대소 문자가 다른 여러 행을 만들려고합니다.대/소문자 구분 카탈로그 만들기
기본적으로 SQL Server에서는 허용하지 않습니다. SQL Server에 허용되는 방법이 있습니까?
'Database Collation'매개 변수를 변경하여 데이터베이스 대소 문자 구분을 제어 할 수 있습니다.
디폴트 조합은 SQL_Latin1_General_CP1_CI_AS 데이터 (CI => 대소 문자 구분) SQL_Latin1_General_CP1_CS_AS 변경하여
(민감 CS => 케이스)가 다른 경우와 동일한 기본 키를 갖는 2 개 행을 활성화 할 수있다.
대소 문자를 구분하도록 테이블에서 열의 COLLATION을 지정하십시오. 데이터베이스가 사용하는 데이터 정렬을 먼저 파악하십시오.
SELECT DATABASEPROPERTYEX(DB_NAME(), 'Collation') AS CollationUsedBySQLServerDatabase
-- Mine was Finnish_Swedish_CI_AS
는 테이블에 동일한 하나를 선택하지만
create table Users
(
UserName varchar(5000) COLLATE Finnish_Swedish_CS_AS PRIMARY KEY
)
insert Users(UserName)
Values ('Peter'), ('PETER')
select * from Users
또한, 당신은 열뿐만 아니라 DB 수준에서 데이터 정렬을 설정할 수있는 민감한 (Finnish_Swedish_CS_AS) 경우로 선택합니다. – StrayCatDBA