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

回到顶部