Maison >base de données >tutoriel mysql >Pourquoi est-ce que j'obtiens une erreur de syntaxe avec « VISIBLE » dans une instruction CREATE UNIQUE INDEX ?
Le message d'erreur "Erreur de syntaxe près de 'VISIBLE' à la ligne 1" s'affiche lors de l'utilisation de MySQL Workbench Instruction CREATE UNIQUE INDEX générée automatiquement. Ce problème provient de la différence de syntaxe entre les versions du serveur MySQL.
Cause :
MySQL Workbench 8.0.12 génère automatiquement l'instruction CREATE UNIQUE INDEX avec l'option VISIBLE , qui est compatible avec la version 8.0 du serveur MySQL. Cependant, si vous utilisez une version antérieure de MySQL (telle que 5.7), cette option n'est pas reconnue, ce qui entraîne une erreur de syntaxe.
Différences de syntaxe :
Dans la version 8.0 du serveur MySQL, la syntaxe de CREATE INDEX inclut l'option d'index VISIBLE :
CREATE [UNIQUE | FULLTEXT | SPATIAL] INDEX index_name [index_type] ON tbl_name (key_part,...) [index_option] [algorithm_option | lock_option] ... index_option: KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string' | {VISIBLE | INVISIBLE}
Dans la version 5.7 du serveur MySQL, cette option VISIBLE n'est pas disponible :
CREATE [UNIQUE | FULLTEXT | SPATIAL] INDEX index_name [index_type] ON tbl_name (key_part,...) [index_option] [algorithm_option | lock_option] ... index_option: KEY_BLOCK_SIZE [=] value | index_type | WITH PARSER parser_name | COMMENT 'string'
Solution :
Pour résoudre le problème, vous avez deux options :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!