有什么方法可以使 Mysql 5.1.x 中的 UNIQUE 索引不区分大小写?
如果是这样 - 必须更改此表中的哪些内容?
CREATE TABLE contestants
(
idContestants int(10) unsigned NOT NULL AUTO_INCREMENT,
idEvent int(10) unsigned NOT NULL,
ContestantName varchar(50) DEFAULT NULL,
PRIMARY KEY (idContestants),
UNIQUE KEY Index_UniqueName (idEvent,ContestantName),
)
ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
If so - What must change in this table ?
CREATE TABLE contestants
(
idContestants int(10) unsigned NOT NULL AUTO_INCREMENT,
idEvent int(10) unsigned NOT NULL,
ContestantName varchar(50) DEFAULT NULL,
PRIMARY KEY (idContestants),
UNIQUE KEY Index_UniqueName (idEvent,ContestantName),
)
ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果您的意思是区分大小写,则:
如果您的意思是不区分大小写,则:
对于表级别执行(对于不区分大小写):
请注意,表级别仅影响新列。
对于数据库级别执行(不区分大小写):
请注意,数据库级别仅影响新表。
If you mean case sensitive then:
If you mean case insensitive then:
For table level do (for case insensitive):
Note that table level only affects new columns.
For database level do (for case insensitive):
Note that database level only affect new tables.
是的,对涉及的列使用不区分大小写的排序规则。
MySQL手册:列字符集和排序规则
Yes, use a case-insensitive collation on the columns involved.
MySQL Manual :: Column Character Set and Collation
这在 Mysql 5.5 中对我有用
This worked for me in Mysql 5.5