2010-11-29 7 views
4

J'ai créé une base de données sql en utilisant Java, je suis un noob quand il s'agit de sql mais l'ai configuré et mis en place, j'ai une table créée qui a deux colonnes, la première étant nombre entier qui incrémente, la seconde j'ai essayé de le définir comme un char, varchar et binaire mais je ne reçois toujours pas la fonction désirée, disons que j'essaie de stocker 0a un nombre hexadécimal dans la colonne char j'obtiens une erreur, j'ai ajouté 0x à au début, il semble stocker, mais quand j'imprime le contenu il est vide ou dans certains cas je reçois des caractères tels que '/' ou '?', j'ai également essayé d'utiliser sql explorer et il me donne le même résultat en regardant le table,Insérer la valeur hexadécimale mysql

Mon problème est que je dois stocker un huit characte r Chaîne hexagonale telle que eb8d4ee6.

Quelqu'un peut-il me dire comment cela peut-il être fait?

Répondre

2

Voir http://dev.mysql.com/doc/refman/5.5/en/hexadecimal-literals.html

MySQL prend en charge les valeurs hexadécimal, écrites à l'aide X'val '' x'val, ou le format 0xval , où val contient chiffres hexadécimaux (0..9, A .. F). Le caractère en lettres des chiffres n'a pas d'importance. Pour les valeurs écrites au format X'val 'ou x'val', val doit contenir un nombre pair de chiffres. Pour les valeurs écrites en utilisant la syntaxe 0xval , les valeurs qui contiennent un nombre impair de chiffres sont traitées comme ayant un 0 supplémentaire. Par exemple, 0x0a et 0xaaa sont interprétées comme 0x0a et 0x0aaa.

Dans les contextes numériques, les valeurs hexadécimales agissent comme des entiers (précision 64 bits). Dans un contexte de chaîne, ils agissent comme chaînes binaires, où chaque paire de chiffres hexadécimaux est convertie en caractère :

Vous devriez probablement enregistrer le numéro Hex dans une colonne entière. Vous pouvez ensuite revenir en arrière en sélectionnant la fonction HEX().

Par ex,

INSERT INTO MyTable (`MyIntegerColumn`) VALUES (0xeb8d4ee6); 
+0

Salut merci pour la réponse rapide j'ai lu cet article, comme je l'ai dit im un Noob sql, mais j'ai essayé d'ajouter 0x définissant comme hex mais lors de l'affichage de la table la valeur n'est pas là? – user524156

+0

@ user524156: Essayez de définir la colonne comme le type 'integer'. – RedFilter

+0

c'est ma déclaration de sql créant la table – user524156

Questions connexes