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 ?

Pourquoi est-ce que j'obtiens une erreur de syntaxe avec « VISIBLE » dans une instruction CREATE UNIQUE INDEX ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-19 01:32:02787parcourir

Why Am I Getting a Syntax Error with

MySQL Workbench : Erreur de syntaxe avec VISIBLE dans l'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 :

  1. Désactiver l'option VISIBLE dans MySQL Workbench : Dans MySQL Workbench, accédez à Modifier > Préférences > Modélisation > MySQL et définissez la "Version MySQL cible par défaut" sur 5.7. Cela empêchera MySQL Workbench de générer automatiquement l'option VISIBLE.
  2. Mettre à niveau le serveur MySQL : Si vous souhaitez utiliser l'option VISIBLE, envisagez de mettre à niveau votre serveur MySQL vers la version 8.0 ou ultérieure.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn