2010-10-13 92 views
1

我有一個VARCHAR字段在MySQL表像這樣 -MySQL的截斷0 VARCHAR字段

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

在PK字段中的值是類型的 - (xx0000001,xx0000002,...)。但是,當我將這些插入到我的表中時,pk字段中的值將被截斷爲(xx1,xx2,...)。

如何預防?

UPDATE:添加INSERT聲明

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

你的插入語句是什麼樣的? – 2010-10-13 17:34:42

+0

以爲你會問這個問題:)更新了Q. – 2010-10-13 17:39:04

+0

檢查了你對MySQL 5.1.38的查詢,它對我有用。 – 2010-10-13 17:44:32

回答

0

這可能是您正在使用的值看觀衆被錯誤地顯示信息,因爲它試圖解釋這個字符串當作一個數字,或者MySQL可能會將您的數字解釋爲十六進制或奇怪的東西。

如果你

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

是否回來爲xx99會發生什麼?或其他一些價值?

0

看起來你在引用兩個語句,文本和desc中的不同表格?

+0

這是一個錯字。 – 2010-10-13 17:46:41

0

可能在您的程序邏輯的某處,該值被解釋爲十六進制或八進制數?