这在SQL Server 2008中不起做用: 数据库
ALTER TABLE Employee ALTER COLUMN CityBorn SET DEFAULT 'SANDNES'
错误是: spa
关键字“ SET”附近的语法不正确。 code
我究竟作错了什么? orm
ALTER TABLE [dbo].[Employee] ADD DEFAULT ('N') FOR [CityBorn]
尝试执行如下命令; it
ALTER TABLE Person11 ADD CONSTRAINT col_1_def DEFAULT 'This is not NULL' FOR Address
正确的方法以下: io
运行命令: table
sp_help [table name]
复制CONSTRAINT
的名称。 form
删除DEFAULT CONSTRAINT
: 语法
ALTER TABLE [table name] DROP [NAME OF CONSTRAINT]
运行如下命令: 方法
ALTER TABLE [table name] ADD DEFAULT [DEFAULT VALUE] FOR [NAME OF COLUMN]
在两种状况下,能够更改列的默认值,
询问
create table table_name ( column_name datatype default 'any default value' );
在这种状况下,个人SQL Server不容许修改现有的默认约束值。 所以,要更改默认值,咱们须要删除现有的系统生成或用户生成的默认约束。 以后,能够为特定列设置默认值。
请遵循如下步骤:
执行此系统数据库过程,它将表名做为参数。 它返回表中全部列的全部约束的列表。
execute [dbo].[sp_helpconstraint] 'table_name'
句法:
alter table 'table_name' drop constraint 'constraint_name'
句法:
alter table 'table_name' add default 'default_value' for 'column_name'
欢呼@ !!!
Hoodaticus的解决方案是完美的,谢谢,可是我还须要从新运行它,并找到这种方式来检查它是否已经完成...
IF EXISTS(SELECT * FROM information_schema.columns WHERE table_name='myTable' AND column_name='myColumn' AND Table_schema='myDBO' AND column_default IS NULL) BEGIN ALTER TABLE [myDBO].[myTable] ADD DEFAULT 0 FOR [myColumn] --Hoodaticus END