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