我觉得,会有问题,建议每次要修改列类型,先删除原来的索引,再修改列类型,重建索引。CREATE TABLE A(c1 int,c2 varchar(20))
gocreate index ind_a_1 on A(c1)
gocreate index ind_a_2 on A(c2)
go--测试没有插入过记录alter table A alter column c1 float  --出错,是不能修改类型的
go信息
索引 'ind_a_1' 依赖于 列 'c1'。alter table A alter column c2 varchar(50) --可以,因为只改变了大小
go--插入数据
INSERT INTO A VALUES(20,'9000')
goalter table A alter column c2 varchar(5)  --出错,因为不能缩小长度
go索引 'ind_a_2' 依赖于 列 'c2'。alter table A alter column c2 varchar(100)  --可以,可以放大长度。
go