Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

make text column as unique key

i want to make a table in MySQL server with mediumtext column as UNIQUE KEY

CREATE TABLE `parts` (       `id` int(11) NOT NULL AUTO_INCREMENT,       `name` mediumtext NOT NULL,       `display_status` int(11) NOT NULL,        UNIQUE KEY `name` (`name`),        PRIMARY KEY (`id`)  ) ENGINE=MyISAM DEFAULT CHARSET=utf8; 

but this made an error

    BLOB/TEXT column 'name' used in key specification without a key length 

when I change the type of `name` to varchar .. it works!

can you tell if i can to make text column as UNIQUE KEY

like image 709
d-doctor Avatar asked Dec 25 '12 19:12

d-doctor


1 Answers

Basically you can not use Text column as UNIQUE key. Because practically such a big column will not be unique and there might be a chance of more duplicates. So go for hashing method and use that output as a UNIQUE constraint.

like image 111
Mari Avatar answered Sep 22 '22 20:09

Mari