数据库
首页 > 数据库> > MySQL区分大小写的文本数据外键

MySQL区分大小写的文本数据外键

作者:互联网

我的主表中有英文的ISO 639-2语言代码(eng,fre,hin等)作为主键.此列是may表中的外键.现在,我的问题是,即使我的主人只有小写的值,由于人为错误,某些值也以混合大小写的形式添加到了其他表中,这些表的语言为id.即使有外键,也不能阻止它的发生.
现在这是我第一次使用MySQL,之前是我在Oracle上工作,它对键应用了区分大小写的功能.要在MySQL中具有相同功能应该怎么做?
另外,列类型应该是什么?
现在是varchar(3).我应该将其转换为其他东西吗?我不会在任何查询中仅使用=和in来使用任何类似条件.

解决方法:

发生这种情况是因为collumn的排序规则不区分大小写-类似于latin1_swedish_ci
将其更改为区分大小写的排序规则-latin1_swedish_cs

修改表t1
    col1 VARCHAR(3)
      角色集latin1
      收集latin1_swedish_cs;

link text

标签:case-sensitive,foreign-keys,mysql
来源: https://codeday.me/bug/20191024/1917190.html