Làm cách nào để tạo một ràng buộc duy nhất trên trường varchar
phân biệt chữ hoa chữ thường (SQL Server 2005)?T-SQL: Làm cách nào để tạo khóa duy nhất phân biệt chữ hoa chữ thường?
Hiện nay khó khăn của tôi trông như thế này:
alter table MyTable
add constraint UK_MyTable_MyUniqueKey unique nonclustered (MyCol)
Khi tôi cố gắng để chèn hai giá trị sau, tôi nhận được một "Vi phạm các hạn chế KEY UNIQUE ..." lỗi.
insert into MyTable (MyCol) values ('ABC')
insert into MyTable (MyCol) values ('abc') --causes a violation of UNIQUE KEY constraint 'UK_MyTable_MyUnqiueKey'
Tôi muốn hai giá trị khác nhau được xử lý là không hợp lệ. Tôi tưởng tượng nó sẽ liên quan đến các mã sau đây, nhưng tôi không biết làm thế nào nó thay đổi cú pháp của tôi add constraint
.
COLLATE SQL_Latin1_General_CP1_CS_AS
bạn có nghĩa là trường hợp 'nhạy cảm' hoặc không nhạy cảm? nếu ABC và abc cả hai được giải quyết như nhau thì đó là một trường hợp 'trong so sánh nhạy cảm. Bạn có thể đặt câu hỏi – keithwarren7
có - bạn chính xác. Cảm ơn bạn – Seibar