Bonjour,
J'utilise MySQL 5.0.37 Community. J'ai refait des tests ce matin, avec une table semblable à celle proposée:
- l'insertion par édition "rapide" avec le MySQL Query Browser renvoie (pour toute valeur): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1
- l'insertion fonctionne sans problème avec la requête suivante : INSERT INTO t (d) VALUES (1.11);
- l'insertion via Hibernate avec un mapping sur une propriété de type Java "double" ou "BigDecimal" pose problème pour des valeurs non représentables de manière exacte en simple précision (comme 5.55, 7.77, 8.88)
Je vais reporter le problème sur les forums Hibernate - à moins que quelqu'un ici ne connaisse la manière propre de mapper les propriétés "double" de Java vers des DECIMAL(10,2).
Je suis par ailleurs tombé sur un article très intéressant (
http://www.ahristov.com/tutorial/Blog/MySQL%2Band%2BData%2BTruncation%2B%3A%2BA%2Bdescent%2Binto%2BIEEE%2Bhell.html ) de quelqu'un qui a eu le même problème et qui a traqué le bug jusque dans le source de MySQL, dans les tréfonds des compilateurs C/C++ et de leur interprétation de la norme IEEE 754 - sans solution.
Je crois que je vais m'en tenir à mes entiers...