我正在尝试用单词列表填充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?
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) );