确认是这条update语句报错吗?

解决方案 »

  1.   

    原confirmer值是什么?
    select len(confirmer) from meeting where ID =7
      

  2.   

    表中行的最大允许大小为 8060 字节举个例子。create table #t(a varchar(8000),b varchar(8000))这是允许的。insert into #t(a) select replicate('a',7000)这也可以。但update #t set b = replicate('b',2000)就报上述错误。因为7000+2000>8060
      

  3.   

    長度超過8060(最大值)了
    如果有空格:
    update meeting set confirmer = rtrim(ltrim(econfirmer))+'马哲,' where ID =7如果沒有就要減少長度了
      

  4.   

    update meeting set confirmer=rtrim(confirmer)+"马哲看看",试试。如果超过4000个汉字,就要用TEXT类型了。
      

  5.   

    你建表的时候:警告: 已创建表 '你的表',但其最大行大小(16025)超过了每行的最大字节数(8060)。如果结果行长度超过 8060 字节,则此表中行的 INSERT 或 UPDATE 将失败。
      

  6.   

    似乎是语句长度问题,我曾经在配置sql agent中的程序的时候也会遇到此类错误,主意好象你的注释也算了它的空间!
      

  7.   

    update meeting set confirmer=confirmer+'马金哲,' where ID =3
    成功执行。
    是不是跟其它列有关?其中有的一列content (varchar 8000)
    但是我能插入为什么就不能updata呢?
    confirmer里的字符不大,
    select len(confirmer) from meeting where ID =7
     才21
      

  8.   

    把另一列 content改成 text型可以了.
    谢谢各位.