sql server2008R2 在执行脚本的时候提示“已创建表 XXX,但其最大行大小(8926)超过了每行的最大字节数(8060)。如果结果行长度超过 8060 字节

当SQL表每行大小超过8060字节时,尝试将char或varchar字段改为text类型,确保数据插入或更新操作不会失败。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在查询分析器里创建数据库,出现警告:警告: 已创建表 XXX,但其最大行大小(8926)超过了每行的最大字节数(8060)。如果结果行长度超过 8060 字节,则此表中行的 INSERT 或 UPDATE 将失败。


一个表每行大小超过了的最大字节8060,建议使用将你表中占用字节数较多的
char (nvchar)或者varchar(nvarchar) 类型 改为text(ntext)类型


SQL的规定,一条记录的最大存储长度为8060字节.

所以,如果你创建类似下面的表就会有此警告:
create table t(a varchar(8000),b varchar(8000))

因为a+b=16000的长度已经超过了一条记录的最大存储长度8060
这种情况下,表可以正常地被创建,只要你存储/修改数据时
datalength(a)+datalength(b)<8060
那你的操作就不会有任何问题.
否则,操作就会失败

好像就是这个意思把。那要是实在不行的话,就把varchar 或者是nvchar  修改为text,,,,,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值