-->

SQL SERVER 2008 在某表中新增一列时失败

2020-01-21 22:12发布

背景:新增列语句如:“alter table 表名 add 列名 float default 0 with values”(用VS2010做网站,这句话是在C#代码里执行的)


报错提示:

  警告: 已经创建表 'xxxx',但是它的最大行大小超过了允许的最大字节数 8060。如果得到的行超过此大小限制,则对此表的 INSERT 或 UPDATE 操作将失败。
  不能创建大小为 8066 的行,该大小大于所允许的最大行大小 8060。


原因:这是因为超过了最大行容量的限制,比如有1000列,全是float(8字节),这就8000字节了,马上就超了,再新增列的时候可能就无法新增列了,就会提示上述错误,以上说的是用代码新增列,手动可能可以新增。


解决办法:改变现有列的数据类型,比如float改为decimal(8,2),nvarchar(1000)改为(500)等 。

标签: