我有一个定义为字符串值的主键。因此主键为“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/