2009/7/7 Pierre Valade <[email protected]>: > > The allowable maximum length is the same for BINARY and VARBINARY as > it is for CHAR and VARCHAR, except that the length for BINARY and > VARBINARY is a length in bytes rather than in characters. > > Donc c'est des bytes... normalement ça devrait passer... > Mais d'ailleurs, je comprends pas pourquoi j'ai le droit de faire > > insert into entities (id) values ('string') > > alors que la column est binary... >
Tu n'as pas du bien comprendre le principe du binary. Les types char/varchar stockent des chaines non binaires alors que les binary le permettent. Ca ne veut pas dire que tu stocke de l'hexa. Tu as toute la table ascii si tu le désire. La page que tu cite (http://dev.mysql.com/doc/refman/5.0/en/binary-varbinary.html) donne un exemple concret où est stocké une valeur 'a' dans une colonne de type binary(3). Cet valeur est ensuite affichée en hexa par l'opérateur HEX et affiche bien le code ascii de la lettre 'a' en hexa : 61. Le comportement que tu reproches est donc parfaitement normal : tu essaie de stocker 16 charactères (d'un octet chacun) et il en stocke effectivement 16. Si tu veux stocker ta chaine de 16 octets se trouvant sous forme binaire, tu devras la convertir. -- http://fabien.jakimowicz.com --~--~---------~--~----~------------~-------~--~----~ Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups. Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse [email protected] Pour résilier votre abonnement envoyez un e-mail à l'adresse [email protected] -~----------~----~----~----~------~----~------~--~---
