此列中现有记录的所有数据都是整数,但SQL服务器mgmt studio GUI似乎不允许我修改此列,因为它抱怨它必须删除并读取表。
是否有任何解决方法可以将列从varchar(null)转换为int字段?
答案 0 :(得分:2)
ALTER TABLE table_name
ALTER COLUMN column_name int
答案 1 :(得分:1)
您需要更改SSMS中的设置。
工具 - 选项 - 设计师
答案 2 :(得分:0)
答案 3 :(得分:0)
只要列中的值没有冲突,您就可以将列更改为int数据类型。
create table x(a varchar(10))
insert into x values ('1'),('2')
alter table x alter column a int
如果发生冲突,您将在
的趋势中出现n错误create table x(a varchar(10))
insert into x values ('1'),('2'),('a'),('b')
alter table x alter column a int
Msg 245, Level 16, State 1, Line 3
Conversion failed when converting the varchar value 'a' to data type int.