java - 如何让 JDBC MYSQL 中的主键区分大小写?

标签 java sql database jdbc primary-key

我有一个定义为字符串值的主键。因此主键为“Hello”和“hello”的两个元组不能存在,因为主键不区分大小写。

创建主键不区分大小写的表的sql语句是什么?

最佳答案

您基本上需要一个使用子查询的检查约束。但是,由于检查约束中不允许使用子查询,因此您可以编写一个函数来运行查询并返回 结果:(假设你的PK称为ID)

create or replace
FUNCTION check_id(ID_INPUT IN VARCHAR2) 
   RETURN NUMBER
   IS count_id NUMBER;
Begin 
   SELECT count(*) INTO count_id FROM table WHERE UPPER(ID_INPUT) = UPPER(ID); 
   Return(Count_Id); 
END;

然后在主键的检查约束中使用此函数

CHECK check_id(ID) = 0

试试这个并告诉我。尚未验证其语法。

关于java - 如何让 JDBC MYSQL 中的主键区分大小写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24323674/

相关文章:

java - System.gc() 与 GC.Collect()

sql - 奇怪的 PostgreSQL "value too long for type character varying(500)"

Java swt TreeView 弹出菜单

sql - 选择所有存在于其他表中的行 - 如何提高性能?

mysql - 错误 1264,我需要 DECIMAL、FLOAT 还是 DOUBLE

mysql - sql - 为每个具有新值的记录插入一个新行?

Go 中的数据库继承

mysql - 对桥实体和多属性实体感到困惑

java - maven effective pom 显示未定义的插件

java - 如何从文件系统加载任意 java .class 文件并对其进行反射(reflect)?