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 SQL Discussion :

[MySQL 4.1.9] Connaître les attributs d'un champ


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 148
    Points : 69
    Points
    69
    Par défaut [MySQL 4.1.9] Connaître les attributs d'un champ
    Salut !
    J'aimerais savoir s'il est possible de tester un attribut d'un champ d'une table et si oui, comment ?
    Dans le concret, j'ai une table déjà existante, et je veux savoir si l'un de ses champs peut être mis à NULL, et si oui, enlever cet attribut.
    Merci.

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Faîtes attention : vous n'utilisez pas les bons termes.
    En effet, vous parlez de contraintes portant sur des colonnes de tables.

    Quoi qu'il en soit, consultez les informations du schéma.

    PS : j'aurais pu vous donner une requête à titre d'exemple mais je n'ai aucune idée de votre SGBD car vous n'avez pas respecté les règles du forum

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 148
    Points : 69
    Points
    69
    Par défaut
    Je ne connais en SQL que les concepts les plus généraux et mon vocabulaire n'est donc pas forcément adapté à ce que je souhaite exprimer.
    Quant au SGBD que j'utilise, il s'agit de MySQL 4.1.9 dans EasyPHP 1.8.0.1.
    Je pensais que ce que je cherchais pouvait être compris dans la norme SQL, indépendemment du SGBD.
    Merci

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Disons que c'est surtout dans votre intérêt : vous posez une question bien précise dans votre tête auquelle vous souhaitez une réponse adéquate

    Concernant la consultation des informations du schéma : http://sql.developpez.com/sqlaz/ddl/?page=partie2#L9

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 148
    Points : 69
    Points
    69
    Par défaut
    D'après ce que j'ai lu, ma table contenant déjà des enregistrements, je suis obligée de faire une copie du contenu de ma colonne actuelle dans une colonne temporaire identique, puis de supprimer l'ancienne colonne, en créer une nouvelle au format que je souhaite (ici avec la contrainte NOT NULL) et enfin de recopier le contenu de ma colonne temporaire dans la nouvelle colonne.
    Pour le vocabulaire, cette succession de requêtes se nomme "script transactionné".

    Pour les informations du schéma, j'avoue que je n'ai pas compris comment les utiliser.

    Il me reste un souci tout de même : j'ai besoin de faire un test pour savoir si la colonne a la contrainte NULL avant de faire ce script et ça, je ne sais pas le faire. Quelqu'un a la solution please ?
    Merci.

  6. #6
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Citation Envoyé par Shankara
    j'ai besoin de faire un test pour savoir si la colonne a la contrainte NULL avant de faire ce script
    C'est justement à quoi servent les "tables systèmes" : disons en simplifiant, qu'elles permettent de connaître la structure de vos données.

    D'autre part, vous pouvez supprimer votre contrainte de nullité sans passer par une colonne intermédiaire, etc. (cette méthode serait plus "logique" si vous cherchiez à ajouter cette contrainte de nullité : comment faire s'il existe une ligne violant justement cette contrainte ?).

    Exemple sous Oracle 10gR1 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    10g SOC5> create table dvp(x number(6) not null);
     
    Table créée.
     
    10g SOC5> select constraint_name, constraint_type, table_name
      2  from dba_constraints
      3  where table_name like 'DVP';
     
    CONSTRAINT_NAME                C TABLE_NAME
    ------------------------------ - ------------------------------
    SYS_C0099722                   C DVP
     
    1 ligne sélectionnée.
     
    10g SOC5> alter table dvp modify x null;
     
    Table modifiée.
     
    10g SOC5> select constraint_name, constraint_type, table_name
      2  from dba_constraints
      3  where table_name like 'DVP';
     
    aucune ligne sélectionnée

Discussions similaires

  1. [DOM] Comment modifier via le DOM les attributs d’un champ INPUT ?
    Par tavarlindar dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 16/04/2008, 13h47
  2. [MySQL] Comment connaître les noms des tables existantes
    Par Cygnus Saint dans le forum Langage SQL
    Réponses: 7
    Dernier message: 16/03/2006, 20h26
  3. [MySQL] [SQLyog] comment ne pas trier les attributs sur 1 PK
    Par raoulmania dans le forum Installation
    Réponses: 11
    Dernier message: 19/12/2005, 16h30
  4. Réponses: 3
    Dernier message: 01/04/2005, 09h37
  5. Réponses: 5
    Dernier message: 06/03/2003, 13h27

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