2010-10-13 7 views
1

J'ai un champ VARCHAR dans une table MySQL comme si -MySQL tronque 0 dans le champ VARCHAR

CREATE TABLE desc(
    `pk` varchar(10) NOT NULL UNIQUE, 
    ... 
); 

La valeur dans le champ pk est du type - (xx0000001, xx0000002, ...). Mais lorsque je les insère dans ma table, les valeurs du champ pk sont tronquées à (xx1, xx2, ...).

Comment prévenir cela?

MISE À JOUR: Ajout de la déclaration INSERT

INSERT INTO desc (pk) VALUES ("xx0000001"); 
+2

À quoi ressemble votre instruction d'insertion? –

+0

pensé que vous demanderiez :) :) mis à jour le Q. –

+0

vérifié vos requêtes contre MySQL 5.1.38, et cela a fonctionné pour moi. –

Répondre

0

Il se pourrait que le spectateur que vous utilisez pour regarder les valeurs affiche les informations de manière incorrecte, car il tente d'interpréter cette chaîne comme un nombre, ou que mysql interprète peut-être vos nombres comme hexadécimal ou quelque chose d'étrange.

Qu'advient-il si vous

INSERT INTO desc (pk) VALUES ("xx0000099"); 

-t-il revenir comme xx99? ou une autre valeur?

0

On dirait que vous faites référence à des tables différentes dans vos deux instructions, texte et desc?

+0

qui était une faute de frappe. –

0

Peut-être quelque part le long de votre logique de programme la valeur est interprétée comme un nombre hexadécimal ou octal?

Questions connexes