当前位置: 首页 > 面试题库 >

在两个varchar字段上创建Unqiue不区分大小写的约束

李光华
2023-03-14
问题内容

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

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

以下插入内容将无效:

"stephen", "Swensen"
"John", "smith"
"stephen", "swensen"

但是以下插入内容将是有效的:

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

问题答案:

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

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

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



 类似资料:
  • 我试图创建一个排除约束,防止有效时间戳范围重叠,但只比较具有相同文本值的记录的范围。我希望文本值比较不区分大小写。我可以将运算符与文本字段一起使用,但不能与字段一起使用,运算符是不可交换的。 这是PostgreSQL 9.5,在数据库上创建了和扩展。 如何不可交换 有没有办法做我想做的事,还是我在做傻事

  • 问题内容: 我希望我的字典不区分大小写。 我有以下示例代码: 输出=练习更改颜色 我想要另一个字符串,(以大写字母开头)也给出相同的输出。 我相信有一种使用转换为小写字母的通用方法, 但是我不确定如何将其最好地集成到我的现有代码中。(如果无论如何这将是一种合理,简单的方法)。 问题答案: 如果我对您的理解正确,并且希望以一种不区分大小写的方式键入字典的键,则一种方法是将dict子类化并重载sett

  • 问题内容: 我正在尝试用单词列表填充SQL表。该表本身非常简单: 我遇到的问题是这样的:当我执行以下操作时,会背对背插入 第二个插入因约束冲突而失败(“键’WORD’的条目’seth’重复”)。 我如何获得区分大小写的约束? 问题答案: 看起来mysql 默认是不区分大小写的: 您可能需要使用区分大小写的排序规则创建列(例如utf8_bin):

  • 我有一本区分大小写的字典, 所以我可以在这本字典里找到区分大小写的键。 例如,我可以有下面的键值对, {test,10} {测试,20} {test1,30} {test2,40} ... 当有人传递密钥时,我想检索该值。检索应该部分不区分大小写,这意味着,如果匹配准确的大小写,则返回区分大小写的结果,如果区分大小写的键不存在,则检索区分大小写的键值。 例如,在字典中插入上述值 如果用户通过“测试

  • 问题内容: 我正在尝试提出一个要求区分大小写的结果的请求。 例如在我的数据库中 该请求是 但我有3行作为结果,我只想要abcdef 我试图找到一个解决方案 但是我有这个错误: 未知归类:’Latin1_General_CS_AS’{“成功”:false,“错误”:“#1273-未知归类:’Latin1_General_CS_AS’”} 谢谢 问题答案: 感谢您的帮助,我找到了不是latin1 ut