Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL / MariaDB निश्चित लंबाई का अद्वितीय BLOB

आप BLOB कॉलम पर एक UNIQUE इंडेक्स बना सकते हैं, आपको बस इंडेक्स के लिए अधिकतम लंबाई निर्दिष्ट करने की आवश्यकता है (जिसका अर्थ यह भी है कि यह केवल कई वर्णों तक अद्वितीय होगा)।

हालाँकि, इसके बजाय VARBINARY का उपयोग करने पर विचार करें जो आपको लंबाई तय करने की अनुमति देता है और इसका मतलब है कि आप एक लंबा फ़ील्ड सम्मिलित नहीं कर सकते हैं जो गलती से अद्वितीय बाधा को तोड़ सकता है। देखें https://dev.mysql.com/doc/ refman/5.6/hi/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)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक MySQL कमांड में अधिकतम और न्यूनतम रिकॉर्ड का चयन करना

  2. MySQL गणना दूरी (सरल समाधान)

  3. Mysql तालिका में रिकॉर्ड का चयन नहीं कर सकता

  4. Mysql2 मणि ​​के साथ ऐप इंस्टॉल करने का प्रयास करते समय त्रुटि

  5. MySQL C++ कनेक्टर को सेलेक्ट क्वेरी के साथ एक स्ट्रिंग मिल रही है