如果一个表中有大量的数据库,增加字段或增加字段长度,经常会弹出以下错误"超时时间已到,无法修改表"
用以下方法可解决问题:
--增加字段
alter table 表名 add 字段 字段类型
例如:
use ASE_order
alter table dbo.T_OrderBase add RemarOnlyCompany varchar(MAX)
--增加字段长度
alter TABLE t_case alter COLUMN ca_category char(3) NULL
以下有更详细的方法:
如果数据量非常大,达到几百万条记录以上,使用企业管理器来更改字段类型,很多时候会超时,更改不成功,这时可以使用Sql语句来更改,如下:
--更改字段类型长度
alter table 表
alter column 字段名 类型的长度--varchar(60)
例:把城市表的城市名字段有原来的长度20改为30
alter table Testcity
alter column cityname varchar(30)
--更改字段类型
alter table 表
alter column 字段名 更改后的类型
例:把城市表的城市名字段有原来的varchar类型改为int类型
alter table Testcity
alter column cityname int
--添加not null约束
alter table 表 alter column 字段名 int not null
例:把cid不能输入空值
alter table Testcity alter column cid int not null
--设置主键
alter table 表 add constraint 主键名 primary key(字段名)
例:把cid设为主键
alter table Testcity add constraint PK_cid primary key(cid)
--更改字段名
EXEC sp_rename '表名.字段名','更改后的字段名','COLUMN'
--添加字段名
ALTER TABLE 表 ADD 字段名 字段类型 DEFAULT null
-----------------------------------------------------------------------------
如何 添加一个默认值是0的int 型字段 字段名是 column1, 数据表是 table1:
ALTER TABLE table1 ADD column1 int NOT NULL default (0)
如果字段已经存在 新建默认值 ALTER TABLE [表名] ADD CONSTRAINT 默认值名 DEFAULT '51WINDOWS.NET' FOR [字段名] 删除默认值 ALTER TABLE [表名] DROP CONSTRAINT 默认值名