日期:2014-05-19  浏览次数:20461 次

修改列长度,导致数据截断,如何解决?
表A中的F1列原来长度为64,类型为nvarchar
现在执行以下语句修改F1列的长度:
alter   table   A   alter   column   F1   nvarchar(32)
结果数据库报错,说将截断二进制,语句执行失败。

原因就是缩短了该列的长度。
但是现在我就是要把该列的长度缩短,怎么能不让数据库报错误,又能缩短该列的长度呢?

在企业管理器里是可以执行的,但是我要用SQL完成,请问该怎么做?
谢谢各位


------解决方案--------------------
huran88(我要做几年编程民工) ( ) 信誉:100 Blog 2007-03-01 16:59:01 得分: 0


楼上的方法要是能用,那还不如把数据全删了再改咧,
数据都截了还有啥用?


--------------

看看樓主的回復再說話


crazyflower(小狂花,学习中……) ( ) 信誉:100 Blog 2007-3-1 16:51:48 得分: 0



你原來長度的超過32的數據怎麼處理?

只要前32個字符?
---------------------
原来超过32的没有关系,直接截断,只要保留前32位就可以了