8791 sujets
salut,
a ma connaissance il n'y a toujours pas de champs booleen sous mysql.
solution un peu bof:
tu peux utiliser une variable qui prend peu de place TINYINT (avec 0 et 1) ou un ENUM avec comme valeur authorisé true et false.
c'est ce que je faisais a mes débuts mais je ne crois pas que ce soit hyper-élégant.
puis je suis passé a sql server.
a mon avis la solution la plus propre c'est avec 3 tables.
les tables groupes et utilisateurs avec chacune leur champs clé primaire
+ une table intermédiaire où la clé fait 2 champs qui reprennent les 2 clés des tables précédentes. (plus d'éventuelles informations genre date d'inscription au groupe ).
comme ça tu n'es pas gêné au niveau de la structure de ta table utilisateur
si tu veux ajouter des groupes
Pascal
Modifié par CPascal (28 Mar 2010 - 20:36)
a ma connaissance il n'y a toujours pas de champs booleen sous mysql.
solution un peu bof:
tu peux utiliser une variable qui prend peu de place TINYINT (avec 0 et 1) ou un ENUM avec comme valeur authorisé true et false.
c'est ce que je faisais a mes débuts mais je ne crois pas que ce soit hyper-élégant.
puis je suis passé a sql server.
a mon avis la solution la plus propre c'est avec 3 tables.
les tables groupes et utilisateurs avec chacune leur champs clé primaire
+ une table intermédiaire où la clé fait 2 champs qui reprennent les 2 clés des tables précédentes. (plus d'éventuelles informations genre date d'inscription au groupe ).
comme ça tu n'es pas gêné au niveau de la structure de ta table utilisateur
si tu veux ajouter des groupes
Pascal
Modifié par CPascal (28 Mar 2010 - 20:36)
CPascal a écrit :
a ma connaissance il n'y a toujours pas de champs booleen sous mysql.
Une petite recherche sur le manuel en ligne de MySQL me donne cette page sur les types numériques, qui dit, entre autres, ceci :
Le manuel en ligne de MySQL a écrit :
BIT, BOOL, BOOLEAN
Ce sont des synonymes de TINYINT(1). Le synonyme BOOLEAN a été ajouté en version 4.1.0
Autrement dit, il est possible de créer une colonne de type BOOLEAN dans MySQL.

Benjamin-Ds a écrit :Certes mais la requête exécutée est
lorsque je creer un champ de type bool je me retrouve avec tinyint(1) donc ...
ALTER TABLE `ma-table` ADD `booleen` BOOL NOT NULL ;
Donc le type est reconnu même s'il faudra encore attendre avant que le type créé soit vraiment BOOL ou BOOLEAN.Les avantages (pour l'instant limités) :
* choix logique du type lors de la création de la table.
* "pérennité" puisqu'avec un DUMP actuel réutilisé avec la v 7.0 de Mysql (
