Anda dapat membuat indeks UNIK pada kolom BLOB, Anda hanya perlu menentukan panjang maksimum untuk indeks (yang juga berarti, itu hanya akan unik hingga banyak karakter).
Pertimbangkan, bagaimanapun, menggunakan VARBINARY sebagai gantinya yang memungkinkan Anda untuk memperbaiki panjangnya dan berarti Anda tidak dapat memasukkan bidang yang lebih panjang yang mungkin secara tidak sengaja melanggar batasan unik. Lihat https://dev.mysql.com/doc/ refman/5.6/en/binary-varbinary.html
Contoh, diuji pada 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)