Du kan oprette et UNIKT indeks på en BLOB-kolonne, du skal blot angive en maksimal længde for indekset (hvilket også betyder, at det kun vil være unikt op til så mange tegn).
Overvej dog at bruge VARBINARY i stedet, som giver dig mulighed for at fastsætte længden og betyder, at du ikke kan indsætte et længere felt, der ved et uheld kan bryde den unikke begrænsning. Se https://dev.mysql.com/doc/ refman/5.6/da/binary-varbinary.html
Eksempel, testet 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)