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_Un开发者_Python百科iqueName (idEvent,ContestantName),
)
ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;
If you mean case sensitive then:
ALTER TABLE `contestants` CHANGE `ContestantName` `ContestantName` VARCHAR( 50 )
CHARACTER SET latin1 COLLATE latin1_bin NULL DEFAULT NULL
If you mean case insensitive then:
ALTER TABLE `contestants` CHANGE `ContestantName` `ContestantName` VARCHAR( 50 )
CHARACTER SET latin1 COLLATE latin1_general_ci NULL DEFAULT NULL
For table level do (for case insensitive):
ALTER TABLE `contestants` DEFAULT CHARACTER SET latin1 COLLATE latin1_general_ci
Note that table level only affects new columns.
For database level do (for case insensitive):
ALTER DATABASE `database_name` CHARACTER SET latin1 COLLATE latin1_general_ci
Note that database level only affect new tables.
Yes, use a case-insensitive collation on the columns involved.
MySQL Manual :: Column Character Set and Collation
This worked for me in Mysql 5.5
ALTER TABLE `contestants` MODIFY
`ContestantName` VARCHAR(50)
CHARACTER SET latin1
COLLATE latin1_bin;
精彩评论