在向表添加新列并且不超过8060字节限制之前,是否有一种干净的方法来确定表的行大小?
例如,如果表行长度当前是8055字节,并且我想添加一个日期时间(8字节),那么它将会转到8063字节(不包括空映射).
但是,如果我添加一个整数(4个字节),这将给它8059个字节,这适合表大小(不包括空映射).
我目前能够获得表的大小,但是我发现很难创建SQL函数来获取数据类型的大小(int,datetime等)以及数据类型是否需要额外的字节用于null映射.
是否有一个我可以使用/开发的函数接受两个变量:tablename和datatype:fnIsEnoughStorage('table1',int)并从标量函数返回一个布尔值(是/否).
如果为true,我将在确定测试后继续执行ALTER TABLE命令.