我在MySQL表中有一个VARCHAR
字段,如此 -
CREATE TABLE desc(
`pk` varchar(10) NOT NULL UNIQUE,
...
);
pk字段中的值是 - (xx0000001,xx0000002,...)类型。但是当我将这些插入到我的表中时,pk
字段中的值会被截断为(xx1,xx2,...)。
如何防止这种情况?
更新:添加INSERT
声明
INSERT INTO desc (pk) VALUES ("xx0000001");
答案 0 :(得分:0)
可能是您正在使用查看值的查看器正在错误地显示信息,因为它试图将该字符串解释为数字,或者mysql可能将您的数字解释为十六进制或奇怪的东西。
如果你这样做会怎样?
INSERT INTO desc (pk) VALUES ("xx0000099");
它是以xx99的形式返回的吗?还是其他一些价值?
答案 1 :(得分:0)
看起来你在两个语句中引用了不同的表,text和desc?
答案 2 :(得分:0)
可能在程序逻辑的某处,该值被解释为十六进制或八进制数字?