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 :

Valeur d'un attribut


Sujet :

Requêtes MySQL

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2004
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Valeur d'un attribut
    Bonjour,

    J'aimerais savoir si il est possible de faire une requête me permettant de connaitre si un champ dans une table peut être null et not null

    Mon but et d'indiquer dynamiquement sur mes formulaires web si tel ou tel champ est obligatoire.

    Ca évite de le faire en dur

    merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Tu peux analyser le résultat de "describe", ça c'est sur.
    Pour avoir juste les propriétés d'une colonne, je ne sais pas.

  3. #3
    Membre expert
    Avatar de Alexandre T
    Homme Profil pro
    Chef de projets AMO
    Inscrit en
    Mai 2002
    Messages
    1 213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets AMO
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 213
    Points : 3 001
    Points
    3 001
    Par défaut
    J'ai cherché un moment avant de trouver Car avec describe, tu dois faire une requête par colonne. Et fnalement j'ai trouver une solution évitant d'interprété une chaine de caractères et permettant de connaître la réponse sur plusieurs colonnes.

    La commande SHOW COLUMNS affiche la collation des colonnes d'une table, lorsqu'elle est appelée avec SHOW FULL COLUMNS. Les colonnes de type CHAR, VARCHAR et TEXT ont des collations de type non-NULL. Les valeurs numériques et non-caractères on des collations NULL. Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    mysql> SHOW FULL COLUMNS FROM t;
    +-------+---------+------------+------+-----+---------+-------+
    | Field | Type    | Collation  | Null | Key | Default | Extra |
    +-------+---------+------------+------+-----+---------+-------+
    | a     | char(1) | latin1_bin | YES  |     | NULL    |       |
    | b     | int(11) | NULL       | YES  |     | NULL    |       |
    +-------+---------+------------+------+-----+---------+-------+
    J'ai essayer de modifier la requête avec des prédicats en plaçant where XXX en fin de requête, mais c'est impossible.

    Tu devras donc interprété chaque ligne avec ton application.

    d'ailleurs j'ai trouver une confirmation du fait, qu'il n'existe aucun automatisme pour détecter les colonnes autorisant une entrée NULLE sur ce lien :

    http://dev.mysql.com/doc/mysql/fr/constraint_NOT_NULL.html
    Et notamment cette phrase :

    La raison de cette règle ci-dessus est que nous ne pouvons pas vérifier ces conditions avant que la requête ne soit exécutée. Si nous rencontrons un problème après la modification de quelques lignes, nous ne pourront pas annuler la modification, car la table ne le supporte peut-être pas. L'alternative qui consiste à s'arrêter c'est pas envisageable non plus, car nous aurions alors fait la moitié du travail, ce qui sera alors le pire scénario. Dans ce cas, il vaut mieux faire 'du mieux possible', et continuer comme si rien n'était arrivé. En MySQL 5.0, nous envisageons d'améliorer cela en fournissant des alertes de conversions automatique, ainsi qu'une option pour vous permettre d'annuler la commande si elle n'utilise que des tables transactionnelles.

  4. #4
    Candidat au Club
    Inscrit en
    Juin 2004
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merciiiiiiiiiii

    Ca répond bien à ma question et j'ai eu une bonne intuition

    Analysé ça sera du gateau

    J'ai cherché dans la doc mais n'avais pas trouvé, parce que je savait pas vraiment où et comment cherché, j'avais trop spécifié ma recherche

  5. #5
    Candidat au Club
    Inscrit en
    Janvier 2004
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 3
    Points : 3
    Points
    3
    Par défaut foction describe
    describe signifie faire une description en language literaire dans le language informatique surtout en lysql
    vous devez commences par la fonction show colonnes afin quel'ordinateur enregistre les donèes et de plusfaire le trie avec la fonction describe akagasuki

  6. #6
    Candidat au Club
    Inscrit en
    Janvier 2004
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Re: Valeur d'un attribut
    Citation Envoyé par DarkMoox
    Bonjour,

    J'aimerais savoir si il est possible de faire une requête me permettant de connaitre si un champ dans une table peut être null et not null

    Mon but et d'indiquer dynamiquement sur mes formulaires web si tel ou tel champ est obligatoire.

    Ca évite de le faire en dur

    merci d'avance
    je vous dit utiliser la fonction describe

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

Discussions similaires

  1. [XSL]compter combien de fois la valeur d'1 attribut est prés
    Par klowlead dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 21/02/2006, 18h48
  2. [xslt] affecter la valeur d'un attribut HTML
    Par ouioui2000 dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 16/12/2005, 10h49
  3. modifier la valeur d'un attribut xml
    Par totoche dans le forum ASP
    Réponses: 2
    Dernier message: 13/12/2005, 15h01
  4. [XSD] test de la valeur d'un attribut
    Par ka0z dans le forum Valider
    Réponses: 3
    Dernier message: 21/08/2005, 20h46
  5. Réponses: 2
    Dernier message: 07/07/2005, 18h11

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