Можете да създадете УНИКАЛЕН индекс на BLOB колона, просто трябва да посочите максимална дължина за индекса (което също означава, че той ще бъде уникален само до толкова знака).
Обмислете обаче използването на VARBINARY вместо това, което ви позволява да фиксирате дължината и означава, че не можете да вмъкнете по-дълго поле, което може случайно да наруши уникалното ограничение. Вижте https://dev.mysql.com/doc/ refman/5.6/en/binary-varbinary.html
Пример, тестван на 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)