在Oracle 10g中,如何在两个varchar字段上添加唯一的不区分大小写的约束?例如,给定表中已存在以下记录:

"Stephen", "Swensen"
"John", "Smith"

以下插入内容将无效:
"stephen", "Swensen"
"John", "smith"
"stephen", "swensen"

但是以下插入内容将是有效的:
"Stephen", "Smith"
"John", "Swensen"

最佳答案

假设您的表名为 person ,名字和姓氏列分别称为 first_name last_name ,请添加以下唯一约束:

ALTER TABLE person ADD CONSTRAINT person_name_unique
    UNIQUE(LOWER(first_name),LOWER(last_name));

让我知道我是否正确理解了您的问题,并对表的布局做出了正确的假设。

关于sql - 在两个varchar字段上创建不区分大小写的唯一约束,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3944840/

10-11 03:39