यहाँ समस्या विभिन्न MySQL सर्वर संस्करणों में सिंटैक्स में अंतर है। ऐसा लगता है कि MySQL कार्यक्षेत्र 8.0.12 स्वत:जनरेट कर रहा है CREATE UNIQUE INDEX
MySQL सर्वर के लिए स्टेटमेंट संस्करण 8.0 ।
MySQL सर्वर 8.0 डॉक्स
से , CREATE INDEX
. के लिए सिंटैक्स है:
CREATE [UNIQUE | FULLTEXT | SPATIAL] INDEX index_name
[index_type]
ON tbl_name (key_part,...)
[index_option]
[algorithm_option | lock_option] ...
key_part: {col_name [(length)] | (expr)} [ASC | DESC]
index_option:
KEY_BLOCK_SIZE [=] value
| index_type
| WITH PARSER parser_name
| COMMENT 'string'
| {VISIBLE | INVISIBLE} /* Notice the option of VISIBLE / INVISIBLE */
index_type:
USING {BTREE | HASH}
हालांकि, {VISIBLE | INVISIBLE}
MySQL सर्वर 5.7 में उपलब्ध नहीं है . दस्तावेज़
से :
CREATE [UNIQUE | FULLTEXT | SPATIAL] INDEX index_name
[index_type]
ON tbl_name (key_part,...)
[index_option]
[algorithm_option | lock_option] ...
key_part:
col_name [(length)] [ASC | DESC]
index_option:
KEY_BLOCK_SIZE [=] value
| index_type
| WITH PARSER parser_name
| COMMENT 'string' /* No option of VISIBLE / INVISIBLE */
index_type:
USING {BTREE | HASH}
यदि आप MySQL के नवीनतम संस्करण में अपग्रेड नहीं करना चाहते हैं; आप VISIBLE / INVISIBLE
के साथ ऑटो-जनरेटिंग की इस सुविधा को अक्षम कर सकते हैं सूचकांक:
MySQL कार्यक्षेत्र में:
यहां जाएं:
<ब्लॉकक्वॉट>संपादित करें> वरीयताएँ> मॉडलिंग> MySQL।
फिर, "डिफ़ॉल्ट लक्ष्य MySQL संस्करण" को 5.7 . पर सेट करें
नीचे स्क्रीनशॉट देखें: