IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Erreur SQL JSON Column 'roles'


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Junior
    Inscrit en
    Septembre 2021
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Junior

    Informations forums :
    Inscription : Septembre 2021
    Messages : 70
    Points : 30
    Points
    30
    Par défaut Erreur SQL JSON Column 'roles'
    Bonjour,

    Actuellement sur un projet Symfony/mySQL.

    Après avoir drop ma BDD et l'avoir recrée, je me retrouve avec cette erreur-là quand je lance un doctrine migrations migrate.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      SQLSTATE[42000]: Syntax error or access violation: 3152 JSON column 'roles' cannot be used in key specification.
    Apres renseignements, il semblerait que ce soit lié à la version de mySQL qui ne supporte pas le JSON et qu'il fallait donc préciser la version du serveur mySQL dans le fichier doctrine.yaml avec un server_version: 'numero de version'

    Seulement voilà, il est précisé dans ce fichier là que si la version est bien précisée dans l'url il n'y a pas besoin de le faire et c'est bien le cas, mon url se terminant par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "mysql...@localhost/apexforum?serverVersion=5.7&charset=utf8"
    Je précise que j'ai bien la version à jour qui contient le JSON, la 5.7

    Si quelque pourrait m'aider. Je vous remercie d'avance

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 333
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 333
    Points : 15 677
    Points
    15 677
    Par défaut
    si j'ai bien compris le rapport de bug suivant, une clé sur une colonne json avec une valeur par défaut est seulement possible avec mysql à partir de la version 8.0.13 :
    https://bugs.mysql.com/bug.php?id=78527
    https://dev.mysql.com/doc/refman/8.0...-defaults.html

    après je ne sais pas ce que vous pouvez faire comme modification pour corriger votre souci mais peut être que cette information vous sera utile.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Junior
    Inscrit en
    Septembre 2021
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Junior

    Informations forums :
    Inscription : Septembre 2021
    Messages : 70
    Points : 30
    Points
    30
    Par défaut
    Merci pour votre réactivité.

    Ce que je ne comprends pas c'est que sur un autre projet ca marche bien, avec des versions identiques à mon projet actuel.

    J'ai drop la bd et fait une migration, j'ai pas cette erreur là.

    Apres sur mon projet actuel j'utilise WAMP, l'autre projet était sur une VM Linux mais les versions de mySQL étaient identiques

    Voilà ce que j'ai pu trouvé pour régler le soucis. L'option doctrine.yaml fonctionne pas.

    https://www.security-helpzone.com/20...mat-type-json/

    Et d'apres ce que tu m'as envoyé, il est bien dit que le format json est compatible à partir de la version 5.7 non ?

    "According to https://dev.mysql.com/doc/refman/5.7/en/json.html, MySQL 5.7.8 "supports a native JSON data type"."

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Junior
    Inscrit en
    Septembre 2021
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Junior

    Informations forums :
    Inscription : Septembre 2021
    Messages : 70
    Points : 30
    Points
    30
    Par défaut
    C'est bon en fait ! J'avais rajouté l'annotation unique=true dans la propriété roles. C'est ça qui posait le problème

    Merci encore pour ta réponse

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Erreur SQL! Unknown column '..'' in 'where clause'
    Par Niblischim dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 22/07/2014, 20h38
  2. Réponses: 4
    Dernier message: 13/11/2010, 17h35
  3. [MySQL] Erreur SQL ! Unknown column '' in 'field list'
    Par jump-jack dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 29/09/2009, 19h16
  4. Réponses: 4
    Dernier message: 19/04/2007, 22h37
  5. Réponses: 5
    Dernier message: 12/12/2005, 13h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo