U kunt een UNIEKE index maken op een BLOB-kolom, u hoeft alleen een maximale lengte voor de index op te geven (wat ook betekent dat deze slechts tot dat aantal tekens uniek zal zijn).
Overweeg echter om in plaats daarvan VARBINARY te gebruiken, waarmee u de lengte kunt bepalen en u geen langer veld kunt invoegen dat per ongeluk de unieke beperking kan doorbreken. Zie https://dev.mysql.com/doc/ refman/5.6/en/binary-varbinary.html
Voorbeeld, getest op 5.6.23:
mysql [localhost] {msandbox} (test) > create table t1 (a BLOB(16), UNIQUE INDEX `a`(`a`(16)));
Query OK, 0 rows affected (0.01 sec)
mysql [localhost] {msandbox} (test) > insert into t1 values('aaa');
Query OK, 1 row affected (0.01 sec)
mysql [localhost] {msandbox} (test) > insert into t1 values('aaa');
ERROR 1062 (23000): Duplicate entry 'aaa' for key 'a'
mysql [localhost] {msandbox} (test) >
mysql [localhost] {msandbox} (test) > create table t2(a VARBINARY(16), UNIQUE INDEX `a`(`a`));
Query OK, 0 rows affected (0.02 sec)