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

MySQL Discussion :

Mise en ligne: références inutilisables


Sujet :

MySQL

  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 577
    Points : 803
    Points
    803
    Par défaut Mise en ligne: références inutilisables
    Bonjour,
    En local, j'ai une base de données nommée sirep et une base de donnée nommée common sur phpMyAdmin, localhost.
    J'essaie d'importer mes deux bases chez Ionos (ex 1&1) en serveur mutualisé. Chez Ionos, chaque base de données est sur un serveur différent. A l'importation chez Ionos avec phpMyAdmin, j'ai un problème de références avec l'erreur suivante:
    Erreur
    Requête SQL :
    
    
    --
    -- Contraintes pour la table `lst_legalstatus`
    --
    ALTER TABLE `lst_legalstatus`
      ADD CONSTRAINT `lst_legalstatus_ibfk_1` FOREIGN KEY (`id_subscriber`) REFERENCES `dat_subscribers` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
      ADD CONSTRAINT `lst_legalstatus_ibfk_2` FOREIGN KEY (`id_country`) REFERENCES `common`.`countries` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
    MySQL a répondu : Documentation
    
    #1142 - La commande 'REFERENCES' est interdite à l'utilisateur: 'o5865049'@'@pma-eu4.schlund.de' sur la table 'common.countries'
    Comment y remédier?

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 134
    Points : 38 557
    Points
    38 557
    Billets dans le blog
    9
    Par défaut
    Bonjour,

    Exécutez deux ALTER distincts séparés par un point virgule :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    ALTER TABLE lst_legalstatus
          ADD CONSTRAINT lst_legalstatus_ibfk_1 
          FOREIGN KEY (id_subscriber) 
          REFERENCES dat_subscribers (id) 
          ON DELETE CASCADE 
          ON UPDATE CASCADE
    ;
    ALTER TABLE lst_legalstatus
          ADD CONSTRAINT lst_legalstatus_ibfk_2 
          FOREIGN KEY (id_country) 
          REFERENCES common.countries (id)
          ON DELETE CASCADE 
          ON UPDATE CASCADE
    ;
    Si c'est un DDL créé manuellement, vous pouvez vous débarrasser des quotes inversées puisqu'aucun des noms d'objet n'est un mot reservé SQL.

  3. #3
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 380
    Points : 19 062
    Points
    19 062
    Par défaut
    Salut à tous.

    Pour ce qui est de IONOS, le mieux est de contacter le service technique.

    Il n'y a pas de problème avec la commande "alter table" pour créer deux contraintes en même temps.
    Je l'ai testé dans MySql 8.0.28 et ça fonctionne parfaitement !

    Comme la syntaxe est correcte, le message d'erreur #1142 indique que vous n'êtes pas autorisé à le faire sur la table "common.countries".

    Or vous nous dites :
    Citation Envoyé par moimp
    Chez Ionos, chaque base de données est sur un serveur différent.
    N'y aurait-il pas un problème d'autorisation à mettre en place dans la base "common" afin d'y avoir accès ?

    D'autre part, la table "common.countries" doit exister avant de lancer la création d'une clef étrangère.

    Cordialement.
    Artemus24.
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  4. #4
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 577
    Points : 803
    Points
    803
    Par défaut
    Bonjour et merci pour votre aide. J'ai effectivement posé la question à Ionos ce matin et je n'ai toujours pas de réponse.
    Comme tout fonctionne en local, que chez ionos chaque base est sur un serveur différent, je pense qu'il doit y avoir un problème de verrouillage.

  5. #5
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 380
    Points : 19 062
    Points
    19 062
    Par défaut
    Salut Moimp.

    Ce n'est pas un problème de verrouillage mais d'autorisation d'accès.
    Le message d'erreur est assez explicite !

    Vous devez autoriser la table "common.countries" à ce faire accéder par l'utilisateur 'o5865049'@'@pma-eu4.schlund.de'.

    Cordialement.
    Artemus24.
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  6. #6
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 577
    Points : 803
    Points
    803
    Par défaut
    J'ai eu une réponse de Ionos qui n'autorise qu'une base de données par serveur en version mutualisée.

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

Discussions similaires

  1. Mise en ligne de jeux
    Par MABB dans le forum Delphi .NET
    Réponses: 2
    Dernier message: 27/03/2006, 18h38
  2. Pb de mise à la ligne
    Par maketossss dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/11/2005, 05h51
  3. Mise en ligne d'un prog vb, précautions ?
    Par mosquitout dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 18/10/2005, 21h41
  4. mise en ligne
    Par zorba49 dans le forum ASP
    Réponses: 4
    Dernier message: 16/05/2005, 14h10

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