update meeting set confirmer = confirmer+'马哲,' where ID =7
服务器: 消息 511,级别 16,状态 1,行 1
无法创建大小为 8067 的行,该值大于允许的最大值 8060。
语句已终止。
confirmer varchar(8000)
---------------------------------------------------------------
表的字段总长度超过限值了。
修改一下,使其总长小于8060。
---------------------------------------------------------------
原confirmer值是什么?
select len(confirmer) from meeting where ID =7
---------------------------------------------------------------
表中行的最大允许大小为 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
---------------------------------------------------------------
長度超過8060(最大值)了
如果有空格:
update meeting set confirmer = rtrim(ltrim(econfirmer))+'马哲,' where ID =7
如果沒有就要減少長度了
---------------------------------------------------------------
update meeting set confirmer=rtrim(confirmer)+"马哲看看",试试。如果超过4000个汉字,就要用TEXT类型了。
---------------------------------------------------------------
你建表的时候:
警告: 已创建表 '你的表',但其最大行大小(16025)超过了每行的最大字节数(8060)。如果结果行长度超过 8060 字节,则此表中行的 INSERT 或 UPDATE 将失败。
---------------------------------------------------------------
可以改用text字段!