在同一个表tbl里面更新一个数据行,参照行是同表的一行数据有个字段  col1 varchar(100),update时出现提示:
服务器: 消息 8152,级别 16,状态 9,过程 tblUpdateData,行 8
将截断字符串或二进制数据。
语句已终止。我把 字段 col1 改成 varchar(8000),还是同样的错误,用len函数测试了一下,要更新的内容只有76个长度,里面包括汉字update语句为:update b set b.col1=a.col1+'convert(char(20),getdate(),120)' from 
tbl a,tbl b where a.id=1 and b.id=2 请高手帮忙!

解决方案 »

  1.   

    可疑的  你把引號放錯位子了update b set b.col1=a.col1+convert(char(20),getdate(),120)from 
    tbl a,tbl b where a.id=1 and b.id=2 
      

  2.   

    对不起,引号是我书写时错了,问题依旧如果直接写成 update b set b.col1='fdshgfhghghghshs........' 引号内的长度超过100就报错,小于等于100就可以执行(汉字算两个长度),现在已经是把这个字段的长度设成 varchar(8000)了。到底怎么回事?
      

  3.   

    tbl是否有触发器tblUpdateData,看一下触发器第8行是否写得不正确