SQL唯一varchar区分大小写的问题
我正在尝试用单词列表填充SQL表。该表本身非常简单:
CREATE TABLE WORDS( ID BIGINT AUTO_INCREMENT,
WORD VARCHAR(128) NOT NULL UNIQUE,
PRIMARY KEY(ID)
);
我遇到的问题是这样的:当我执行以下操作时,会背对背插入
INSERT INTO WORDS(WORD) VALUES('Seth');INSERT INTO WORDS(WORD) VALUES('seth');
第二个插入因约束冲突而失败(“键’WORD’的条目’seth’重复”)。
我如何获得区分大小写的UNIQUE
约束WORD
?
回答:
看起来mysql 默认是不区分大小写的:
您可能需要使用区分大小写的排序规则创建列(例如utf8_bin):
CREATE TABLE WORDS ( ID BIGINT AUTO_INCREMENT,
WORD VARCHAR(128) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL UNIQUE,
PRIMARY KEY(ID)
);
以上是 SQL唯一varchar区分大小写的问题 的全部内容, 来源链接: utcz.com/qa/419745.html