Insertion valeur hexadécimale mysql
-
29-09-2019 - |
Question
J'ai créé une base de données SQL en utilisant Java, je suis un noob quand il vient à sql mais il a configuré et mis en place, i ont créé une table qui comporte deux colonnes, la première étant un grand nombre entier qui incréments, le second, je l'ai essayé de définir comme un char, varchar et binaire, mais im toujours pas obtenir la fonction désirée, dire que j'essayer de 0a stocker un nombre hexadécimal dans la colonne char je reçois une erreur, j'ajouté 0x au début un, il semble magasin, mais quand j'imprimer le contenu est vide ou dans certains cas, je reçois des caractères tels que « / » ou « ? », j'ai aussi essayé en utilisant l'explorateur sql et il me donne le même résultat regarder le tableau,
Mon problème est que je dois stocker une chaîne hexagonale de huit caractères tels que eb8d4ee6.
Quelqu'un pourrait-il s'il vous plaît me conseiller de la façon dont cela peut être fait?
La solution
Voici un blog je me réfère toujours à me rappeler la manipulation correcte des valeurs hexagonales et les champs binaires, et expose certaines conséquences sur les performances.
http://www.xaprb.com/blog/2009/02/12/5-ways-to-make-hexadecimal-identifiers-perform-better-on-mysql/
Autres conseils
Voir http://dev.mysql.com/doc /refman/5.5/en/hexadecimal-literals.html
MySQL supporte des valeurs hexadécimales, écrit en utilisant X'val 'x'val', ou 0xval le format, où val contient hexadécimal chiffres (0..9, A..F). Fa¸on du chiffres n'a pas d'importance. pour les valeurs écrit en utilisant X'val format 'ou x'val', val doit contenir un nombre pair de chiffres. Pour les valeurs écrites en utilisant 0xval syntaxe, valeurs qui contiennent un nombre impair nombre de chiffres sont traités comme ayant un leader supplémentaire 0. Par exemple, 0x0a et 0xaaa sont interprétés comme 0x0a et 0x0aaa.
Dans un contexte numérique, hexadécimal Les valeurs agissent comme des nombres entiers (64 bits précision). Dans un contexte de chaîne, ils agir comme des chaînes binaires, où chaque paire de chiffres hexadécimaux est converti en un Caractère:
Vous devriez probablement enregistrer le numéro hexadécimal dans une colonne entière. Vous pouvez ensuite reconvertir en hex lors de la sélection en utilisant le HEX()
fonction.
par exemple.
INSERT INTO MyTable (`MyIntegerColumn`) VALUES (0xeb8d4ee6);