sql server 2000数据表字段设置为char型,却不能写入字符

来源:百度知道 编辑:UC知道 时间:2024/06/03 10:51:12
sql server 2000中手工建立数据表,其中有字段name设置为char型,长度10,建好后写入“刘”,然后改成“刘备”,回报错“输入的值与列的数据类型或长度的长度不一致,或者超出网格缓冲区限制”。name字段设置成varchar也有一样现象。为什么不能改?如何才能避免?
这些操作都是手工操作,直接在数据库界面操作,不用程序修改。

从情况看,你肯定是在企业管理器里直接修改的
先说char的时候,你第一次写入“刘”以后,再添加“备”的时候是从“刘”后边写入的,而根据char类型特性,原来“刘”之后被填充了8个空格(汉字占2个字节),再插入“备”以后,整体长度就是12了,肯定插不进去了。如果你直接把char类型修改为varchar虽然变成可变类型的,但是之前输入的数据还是有空格填充的,所以还是插不进去,在改为varcahr以后,如果你新插入一条,再改的时候就不会有问题。

操作表最好用语句,不要直接在企业管理器里弄。

看来已经有人比我早来了