日期:2014-05-17  浏览次数:21208 次

中途修改数据类型可以么?
是这样的,我的数据库中的表,是bigint类型,然后我在asp页面中都做好了ObjectDataSource、ListView、FormView等都好了,但是中途发现我想要表中的字段类型修改为int类型,我手动修改总是提示说"can not change....",这怎么解决哈?

------解决方案--------------------
主键被别的表引用了就不能改了。
------解决方案--------------------
数据库是可以修改列属性的
------解决方案--------------------
删除外键引用,而且如果你的bigint字段值在int范围内是可以修改的,如果不是,那也没办法修改。
------解决方案--------------------
1.导出库里的所有表的生成脚本.
2.修改脚本里的数据类型.
2.加载运行脚本.
------解决方案--------------------
if OBJECTPROPERTY(OBJECT_ID(N'dbo.test'), N'IsUserTable') = 1
   drop table dbo.test
go

--crate table
create table dbo.test (
Id bigint not null,
data int null)
go

alter table dbo.test with check add 
   constraint pk_test PRIMARY KEY CLUSTERED
   (
       Id
   )
go

--drop pk
alter table dbo.test 
drop constraint pk_test
go

--alter column
alter table dbo.test
alter column Id int not null
go

--add pk
alter table dbo.test with check add 
   constraint pk_test PRIMARY KEY CLUSTERED
   (
       Id
   )
go