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

使唯一键大小写不敏感

孟祯
2023-03-14
问题内容

这是我的mysql表的架构,即时通讯使用mysql 5

--
-- Table structure for table `DATA_USER_ROLE`
--

DROP TABLE IF EXISTS `DATA_USER_ROLE`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `DATA_USER_ROLE` (
  `ID` int(11) NOT NULL,
  `NAME` varchar(128) NOT NULL,
  `VAL_ID` int(11) NOT NULL,
  `CREATION_TIME` datetime NOT NULL,
  `ROLE_TYPE` int(11) NOT NULL,
  `STORAGE_TYPE` int(11) NOT NULL,
  PRIMARY KEY (`ID`),
  UNIQUE KEY `BV_AC_ROLE_KEY_IDX` (`NAME`,`VAL_ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

需要敏感的UNIQUE KEY大小写,

它应该允许输入类似(’a’,0)&(’A’,0)的值

尝试将排序规则更改为latin_1和latin_generic_ci


问题答案:

最简单的是BINARY在DDL语句上添加,

`NAME` varchar(128) BINARY NOT NULL
  • SQLFiddle演示


 类似资料:
  • 在执行MySQL 数据库给数据表改名时,发现报错,如下: 从提示中可以看出 blog_comment,表已经存在,可登录 MySQL 客户端查看数据表,并没有看到这张表。 提示中所说目标表并不存在。手动执行改名SQLRENAME TABLE blog_Comment TO blog_comment;,报同样错误:Table 'blog_comment' already exists。 从网上找一些

  • 问题内容: 默认情况下,django的url解算器似乎执行区分大小写的搜索来解析url,并区分’/ Login’和’login’。我的网址格式如下。 谁能指导我,如何使Django URL不区分大小写? 问题答案: 只需放在每个字符串的开头,即: 告诉每个RE不区分大小写地匹配

  • 问题内容: 我正在尝试考虑在PHP中实现不区分大小写的file_exists函数的最快方法。我最好的选择是枚举目录中的文件,并进行strtolower()与strtolower()的比较直到找到匹配项? 问题答案: 我使用注释中的源代码来创建此功能。返回完整路径文件(如果找到),否则返回FALSE。 在文件名中的目录名称上不区分大小写。

  • 除了 Java 类与属性的名称外,查询语句对大小写并不敏感。 所以 SeLeCT 与 sELEct 以及 SELECT 是相同的,但是 org.hibernate.eg.FOO 并不等价于 org.hibernate.eg.Foo 并且 foo.barSet 也不等价于 foo.BARSET。 本手册中的 HQL 关键字将使用小写字母。很多用户发现使用完全大写的关键字会使查询语句的可读性更强,但我

  • 问题内容: 我尝试使用 OrderBy 从Cloud Firestore读取排序的数据。然后Firestore按照以下顺序返回数据: AAA BBB aaa bbb 现在,我想要的是以下内容: AAA AAA BBB BBB 我只希望使用 OrderBy 而不通过手动排序获得此结果。 在Firestore中,有什么方法可以排序? 请为此提供解决方案。 提前致谢。 问题答案: Cloud Fires

  • 我试图在elasticsearch中对术语聚合的桶进行排序,不区分大小写。以下是字段映射: 请注意,此处的此数据结构适用于PHP。 聚合如下所示: 这是可行的,但生成的桶是按字典顺序排列的。 我在这里找到了一些有趣的文档,它们解释了如何做到这一点,但这是在对点击进行排序的上下文中,而不是在聚合桶中。 我还是试过了。以下是我创建的分析器: 这里是更新的字段映射,使用分析器有一个名为“sort”的新子