使用Database Telerik将表中的列从varchar(6)
更新为varchar(10)
时,SQL Server抛出此错误:
“ ALTER TABLE [Bin] ALTER COLUMN [bin_code] varchar(10)NOT NULL”上的SQL异常:无法创建大小为8061的行,该行大于允许的最大行大小为8060。
问题是,表通常由30个字节组成,因为它由一个varchar
列和一些int
和外键组成。
CREATE TABLE [dbo].[Bin]
(
[id] [int] IDENTITY(1,1) NOT NULL,
[bin_code] [varchar](6) NOT NULL,
[icc_modulus_size] [int] NOT NULL,
[icc_public_exponent] [int] NOT NULL,
[icc_generation_counter] [int] NOT NULL,
[id_brand] [int] NOT NULL,
[id_issuer] [int] NOT NULL,
)
(不包括外键部分)
我知道SQL中的行不能超过8060的长度,但是问题是为什么它在更新表时试图创建它?