Bonjour,
J'aimerai avoir une table avec un champ de type float mais qui puisse être vide. Comment faire?
J'ai essayé ça:
ALTER TABLE `etats` CHANGE `note` `note` FLOAT NULL DEFAULT '-'
mais mysql mets automatiquement 0 à la place de '-'
Merci
Bonjour,
J'aimerai avoir une table avec un champ de type float mais qui puisse être vide. Comment faire?
J'ai essayé ça:
ALTER TABLE `etats` CHANGE `note` `note` FLOAT NULL DEFAULT '-'
mais mysql mets automatiquement 0 à la place de '-'
Merci
salut,
avec NULL, c'est pas possible?
Avec null à quel niveau? Comme valeur par défaut ou comme caractéristique du champ?
Si je met NULL comme valeur par défaut il n'arrive pas à me remplacer les '0' de mon champ:
update etat set note = 'NULL' ne fonctionne pas. MySql laisse '0'.
salut,
tu peux le mettre en effet comme valeur par defaut
par contre pour ta requete il faut faire ceci :
sinon cela est vu comme une chaine de caractere, ce qui est incompatible avec un champ de type float
Code : Sélectionner tout - Visualiser dans une fenêtre à part update etat set note = NULL
bon courage
Michel
Merci, ça fonctionne effectivement avec NULL. Mais il n'y a donc pas moyen d'avoir une absence de valeur pour un champ de type float?
NULL, c'est justement l'absence de valeurs
http://sql.developpez.com/null/
Question subsidiaire:
Pourquoi phpmyadmin n'affiche rien dans des champs (type varchar notamment) vides des tables MySql et non pas NULL?
aucune idée, je ne l'utilise pas
mais es tu sur que c'est NULL et pas une chaine de caracteres vides?
Je ne suis sur de rien.
Je constate juste que phpmyadmin affiche des champs de type varchar vide. Peut-être ces champs sont-ils NULL et phpmyadmin modifie-t-il l'affichage...
je pense que c'est plutot une chaine de caracteres vides mais il est facile de le tester
pour une chaine de caracteres, la chaine vide a un sens et c'est différent de NULL.
exemple en ligne de commande :
si tu fais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 create table test(id int,nom varchar(10)); insert into test values(1,'test'); insert into test values(2,''); insert into test values(3,NULL);
tu auras comme résultat ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part select * from test
tu vois donc la différence entre NULL et la chaine videid | nom
------+------
1 | test
2 |
3 | NULL
tu peux tester cela sous phpmyadmin si tu veux![]()
Partager