1. 当字段没有默认值或者约束的时候可以使用:
alter table [table_name] drop column [column_name] 来删除。
当有默认值的时候应该先删除默认值,然后再删除此列,不然会报错。具体方法如下
select b.name from sysobjects b join syscolumns a on b.id = a.cdefault where a.id = object_id('表名') and a.name = '列名'”;
ALTER TABLE Recording DROP constraint 约束名
ALTER TABLE 表名 DROP COLUMN 列名
示例:如下为删除数据库[MusicStore]中AlbumModels表的Price列约束
use [MusicStore];--数据库名
declare @tableName nvarchar(100);--表名
declare @columnName nvarchar(100);--列名
declare @cnt nvarchar(100);
declare @sqlcmd nvarchar(1024);
set @tableName='AlbumModels'
set @columnName='Price'
select @cnt= b.name from sysobjects b join syscolumns a on b.id = a.cdefault where a.id = object_id(@tableName) and a.name = @columnName
set @sqlcmd = 'ALTER TABLE '+ @tableName +' DROP constraint ' + @cnt;
exec sp_executesql @sqlcmd
2. 在sqlserver中如何增加一个字段
ALTER TABLE 表名 ADD 字段名称字段类型 Default 默认值