mysql table default values_转载sql server 关于 default value的一些使用总结

1.在创建表的时候,给字段添加的默认值约束

CREATE TABLE "dbo"."Test"

(

id int PRIMARY KEY,

sex varchar(10) DEFAULT ('boy'),

name varchar(40),

age int DEFAULT ((1)),

)

CREATE TABLE "dbo"."Test"

(

id int PRIMARY KEY,

sex varchar(10) DEFAULT ('boy'),

name varchar(40),

age int DEFAULT ((1)),

)

注意:

此时默认值约束,没有约束名称。DMBS会自动的给添加一个“默认值约束名称”

注意varchar类型和int类型在DEFAULT 中的写法:分别用‘’和()把value值包起来

2.在创建表之后,给字段添加的默认值约束

alter table [dbo].[Test] add constraint Test_name_Default Default('Tom') for baseCurrencyCode

alter table [dbo].[Test] add constraint Test_name_Default Default('Tom') for baseCurrencyCode

注意:

此时,必须编写一个约束名称,防止重名。

3.修改字段原有的默认值约束

declare @csname varchar(100)

set @csname=''

select @csname=[name]

from sysobjects

whereid=(select cdefault from syscolumns whereid=object_id('Test') andname='age')

exec('alter table [dbo].[Test] drop constraint ' + @csname )

exec('alter table [dbo].[Test] add constraint ' + @csname + ' Default((18)) for age')

declare @csname varchar(100)

set @csname= ''

select @csname=[name]

from sysobjects

where id=(select cdefault from syscolumns where id=object_id('Test') and name='age')

exec('alter table [dbo].[Test] drop constraint ' + @csname )

exec('alter table [dbo].[Test] add constraint ' + @csname + ' Default((18)) for age')

注意:

默认值约束,不能修改。必须先drop之后再add

drop的时候,必须知道当前“默认值约束的名称”。通过上面的sql可以查出Test表的age字段所绑定的“默认值约束名称”,才可以drop

测试的时候发现sqlserver2005的一个bug:默认值的长度大于字段设定的长度时候,同样不报错,可以设置成功!!!在oracle上就会报错,无法设置成功!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值