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

Bases de données Delphi Discussion :

Modifier une contrainte d'intégrité sur un champ


Sujet :

Bases de données Delphi

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 21
    Points : 19
    Points
    19
    Par défaut Modifier une contrainte d'intégrité sur un champ
    Bonjour tout le monde,

    Je suis en train de modifier un logiciel déjà existant, cependant j'ai remarqué qu'il était possible d'ajouter dans une table deux lignes avec le même id.
    J'ai pensé tout d'abord a filtrer l'id quand quelqu'un l'entre mais ce serai trop complexe a mettre en place.
    De plus, comme je vais par la suite devenir responsable de cette application, j'aimerais bien qu'elle soit correctement développée (y'a du boulot alors autant commencer tout de suite ^^).
    Donc j'aimerai rajouter une contrainte d'intégrité sur ma colonne ID.

    Je pense qu'il est possible de le faire avec un logiciel mais il est IMPERATIF que je passe par du SQL afin que je puisse la répercuter sur l'ensemble des bases lors d'une mise à jour.

    Voici ma requete:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ALTER TABLE UNITEVENTE
    ADD UNITE_ID CONSTRAINT unique_unite_id UNIQUE

    Et voila ce que me dit mon compagnon FlameRobin:
    Invalid token

    Engine Code : 335544569
    Engine Message :
    Dynamic SQL Error
    SQL error code = -104
    Token unknown - line 2, char 14
    CONSTRAINT


    Execute time: 00:00:00.
    J'aimerais aussi en même temps faire de ce champ une Clé primaire.

    Quelqu'un peut-il m'aider à formater correctement cette requête?
    Merci

  2. #2
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 21
    Points : 19
    Points
    19
    Par défaut
    Probleme résolue:
    Je me suis résigné à utiliser un logiciel pour voir si au moins ce que je voulais faire était possible. Et quelle surprise, d'une il me l'a fait et en plus il m'a crée la requete.
    Voila les deux:

    PrimaryKey
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ALTER TABLE UNITEVENTE 
    ADD CONSTRAINT PK_UNITEVENTE PRIMARY KEY (UNITE_ID);
    Unique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE UNITEVENTE ADD CONSTRAINT UQ_UNITEVENTE UNIQUE (UNITE_ID);
    J'ai pas encore testé, mais je pense que je n'aurais besoin que de la premiere.
    Merci a tout ceux qui allait répondre, désolé, je ne vous ai pas laisser le temps ^^

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

Discussions similaires

  1. Modifier une contrainte d'unicité sur une table mySQL
    Par bernidupont dans le forum Débuter
    Réponses: 2
    Dernier message: 19/02/2013, 14h52
  2. Réponses: 5
    Dernier message: 16/07/2011, 16h49
  3. contrainte d'unicite sur deux champs
    Par mikebranque dans le forum PostgreSQL
    Réponses: 12
    Dernier message: 17/07/2008, 16h28
  4. Modifier une contrainte sur une table InnoDb
    Par DomZZZ dans le forum Outils
    Réponses: 1
    Dernier message: 13/03/2006, 14h40
  5. [sql] comment modifier une contrainte
    Par imedg dans le forum Oracle
    Réponses: 5
    Dernier message: 11/03/2006, 06h54

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