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

Requêtes MySQL Discussion :

Suppression d'une contrainte unique


Sujet :

Requêtes MySQL

  1. #1
    Membre averti Avatar de Linio
    Inscrit en
    Octobre 2005
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 431
    Points : 332
    Points
    332
    Par défaut Suppression d'une contrainte unique
    Bon j'ai cherché partout, mais je trouve pas comment retirer une contrainte unique avec une requête SQL sur une table.

    Je suis sur MySQL 4.1
    Linio

  2. #2
    Membre confirmé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 920
    Points : 606
    Points
    606
    Par défaut
    Bonjour,
    à vue de nez, je dirais que si la contrainte a été créée de cette manière
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ALTER TABLE `mabase`.`matable` ADD CONSTRAINT `marelation` FOREIGN KEY (`cleunik`) REFERENCES `_toto` (`cleunik`) ON DELETE CASCADE ON UPDATE CASCADE;
    la suppression doit se faire de cette manière
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ALTER TABLE `mabase`.`matable` DROP FOREIGN KEY `marelation`;
    Cordialement,
    Christophe Charron

  3. #3
    Membre averti Avatar de Linio
    Inscrit en
    Octobre 2005
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 431
    Points : 332
    Points
    332
    Par défaut
    Ouais mais si on ne sait pas comment la contrainte a été créée?

    Comment retrouver son nom ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Field: customer_id
    Type: varchar(64)
    Null:
    Key: UNI
    Default:
    Extra:
    Moi je ne vois que ça.
    Linio

  4. #4
    Membre confirmé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 920
    Points : 606
    Points
    606
    Par défaut
    Un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    show create table 'matable';
    ne suffit pas ?
    Cordialement,
    Christophe Charron

  5. #5
    Membre averti Avatar de Linio
    Inscrit en
    Octobre 2005
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 431
    Points : 332
    Points
    332
    Par défaut
    Merci de prendre le temps de me répondre.

    Alors, si effectivement ça me permet d'avoir le nom, merci je ne connaissais pas, en revanche même avec le nom il me fait une erreur de syntaxe:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE matable DROP UNIQUE KEY 'customer_id_1';
    Linio

  6. #6
    Membre confirmé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 920
    Points : 606
    Points
    606
    Par défaut
    Quelle est l'erreur de syntaxe ?

    Attention toutefois, la requête ci-dessus ne supprime pas une clé étrangère mais une clé unique, ce qui n'est pas du tout la même chose !!!
    Cordialement,
    Christophe Charron

  7. #7
    Membre averti Avatar de Linio
    Inscrit en
    Octobre 2005
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 431
    Points : 332
    Points
    332
    Par défaut
    C'était ma question à la base, retirer une clé unique, non pas une FK.

    L'erreur est:

    ERREUR 1064 (42000) : Erreur de syntaxe près de 'UNIQUE KEY 'customer_id_1';'
    Linio

  8. #8
    Membre confirmé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 920
    Points : 606
    Points
    606
    Par défaut
    Haaa....
    j'avais lu
    ...comment retirer une contrainte unique...
    Je pensais que l'on parlait d'une contrainte pas d'un index (unique ou pas)
    Donc ceci devrait être plus approprié
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE `matable` DROP INDEX `monindex`;
    Cordialement,
    Christophe Charron

  9. #9
    Membre averti Avatar de Linio
    Inscrit en
    Octobre 2005
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 431
    Points : 332
    Points
    332
    Par défaut
    Parfait merci beaucoup !!
    Linio

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

Discussions similaires

  1. Une contrainte "unique" sur une clé primaire
    Par Invité1 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 28/04/2010, 21h11
  2. suppression d'une contrainte non nommée
    Par new_wave dans le forum SQL
    Réponses: 1
    Dernier message: 11/03/2009, 19h34
  3. [2005] mettre une contrainte unique
    Par zooffy dans le forum Développement
    Réponses: 8
    Dernier message: 10/02/2009, 08h17
  4. Ajouter une contrainte UNIQUE à une clé
    Par Linio dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/06/2007, 13h36
  5. Suppression de la contrainte unique
    Par mika dans le forum SQL
    Réponses: 3
    Dernier message: 20/02/2003, 17h56

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