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

Outils MySQL Discussion :

Boolean sur MySql


Sujet :

Outils MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 83
    Par défaut Boolean sur MySql
    J'utilise EasyPHP 1.8
    Comment créer et définir un champ boolean?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    create table MATERIEL
    (
       CODE_MATERIEL                varchar(5)                     not null,
       GARENTIE_MATERIEL          varchar(2),
       ACTIVE_MATERIEL             bool,
       /* Est-ce ainsi la définition d'un champ boolean ? */
       primary key (CODE_MATERIEL)
    )
    type = InnoDB;
    Où il manque quelque chose à ma code de création?

    Quelle est la syntaxe pour inserer la valeur "ture" ou "false" sur ACTIVE_MATERIEL

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 23
    Par défaut
    Salut,

    Quand je créer un type bool dans phpMyAdmin il me met mon champs en tinyint (1) donc je ne sais pas si le type bool existe vraiment.

    Donc tu peut créer un champs de type tinyint (1) il ne peut prendre comme valeur que 0 et 1.
    0 => false
    1 => true

    A++

  3. #3
    Membre émérite Avatar de pop_up
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 877
    Par défaut
    c'est ça. et ça marche.

    bool ou boolean comme tu veux

    http://dev.mysql.com/doc/refman/5.0/...-overview.html

  4. #4
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 059
    Par défaut
    Bonjour,

    Le type booléen existe comme mot-clef dans MySQL. Mais effectivement, c'est un "faux" booléen, vu que boolean est un synonyme de tinyint (soit un entier codé sur 1 octet), et peut donc prendre 256 valeurs entières, et non pas les valeurs TRUE ou FALSE.
    C'est donc à toi de renseigner correctement ce champ, avec par convention FALSE => 0 et TRUE => 1.
    Mais MySQL ne te bloquera pas une valeur 2 dans ce champ...

    Ca doit venir dans les versions futures...

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  5. #5
    Membre confirmé
    Inscrit en
    Juillet 2005
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 83
    Par défaut
    Merci à vous trois

  6. #6
    Membre chevronné Avatar de SphynXz
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 439
    Par défaut
    en MySQL pour du booléen je préconiserais plus de l'enum('FALSE','TRUE') ou enum('0','1')

  7. #7
    Membre averti

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 45
    Par défaut le type ENUM
    Citation Envoyé par SphynXz Voir le message
    en MySQL pour du booléen je préconiserais plus de l'enum('FALSE','TRUE') ou enum('0','1')
    Je préfère également la solution avec le type ENUM qui est plus 'sécurisée' mais le problème est qu'il s'agit d'une énumération de chaîne de caractères uniquement. Du coup une requête du tpye :

    SELECT * FROM matable WHERE monpseudobooleen = 1

    ne fonctionnera pas, il faut mettre des quotes et écrire :

    SELECT * FROM matable WHERE monpseudobooleen = '1'

    Y-a-t-il moyen de contourner cette contrainte ?

  8. #8
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 884
    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 884
    Par défaut
    Salut annabil23 .

    Est-ce que tu as regardé la date du dernier post ? Cela remonte à plus de sept ans !
    Pourquoi déterrer un vieux sujet, pour répondre ce qui a été dit dans le même sujet ?

    @+

  9. #9
    Membre averti
    Inscrit en
    Janvier 2010
    Messages
    25
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 25
    Par défaut
    bonjour

    car je suis tombé sur le même problème et j'ai trouvé cette solution.
    Et c'est ça, le forum.

    merci bien @+

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

Discussions similaires

  1. Foreign Key sur Mysql
    Par lemagicien dans le forum Outils
    Réponses: 1
    Dernier message: 23/09/2005, 13h39
  2. export base 4D sur mysql ou sqlserver
    Par jarod71 dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 13/07/2004, 12h55
  3. pb avec la fonction boolean sur eclipse
    Par mcay dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 31/05/2004, 09h37
  4. driver sur mySql
    Par sampq dans le forum Installation
    Réponses: 8
    Dernier message: 19/08/2003, 09h15
  5. possible sur MySQL 4.0 ?
    Par djforest dans le forum Langage SQL
    Réponses: 7
    Dernier message: 06/06/2003, 09h49

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