shaddf Posted September 17, 2015 Share Posted September 17, 2015 I have this table: CREATE TABLE _HRatortbl ( Hor_id INT unsigned NOT NULL auto_increment, Hicator_title longtext NOT NULL, Primary KEY(HRindicator_id), UNIQUE KEY ix_length_HRindicator_title (HRindicator_title(255)) )ENGINE=InnoDB DEFAULT CHARSET=utf8 why is it that it cannot differentiate between: Legally stipulated Age for marriage and legally stipulated age for mariage I found them both iniside the table .Is there another way to do this on text fields Quote Link to comment https://forums.phpfreaks.com/topic/298196-making-unique-keys-in-mysql/ Share on other sites More sharing options...
Jacques1 Posted September 17, 2015 Share Posted September 17, 2015 (edited) So you want case-sensitive string comparison? Then you need to use a case-sensitive collation like utf8_bin for the column or the entire table. Edited September 17, 2015 by Jacques1 Quote Link to comment https://forums.phpfreaks.com/topic/298196-making-unique-keys-in-mysql/#findComment-1521030 Share on other sites More sharing options...
secweb Posted September 17, 2015 Share Posted September 17, 2015 No expert on this but looks like you need the COLATE keyword http://dev.mysql.com/doc/refman/5.0/en/case-sensitivity.html http://stackoverflow.com/questions/6448825/sql-unique-varchar-case-sensitivity-question The second link has an example: CREATE TABLE WORDS ( ID BIGINT AUTO_INCREMENT, WORD VARCHAR(128) CHARACTER SET utf8 COLLATE utf8_cs NOT NULL UNIQUE, PRIMARY KEY(ID) ); Quote Link to comment https://forums.phpfreaks.com/topic/298196-making-unique-keys-in-mysql/#findComment-1521031 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.