SQL中的default怎么使用啊

create table rsb(性别 bit default(1))有错吗? 怎么运行无错,但填入数据后就出错啦,高手们来我这啊!!!!!!!!!!!!!!!!!!!!!!!!11

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    

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

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

如:declare @csname varchar(100)    set @csname= '' select @csname=[name]  from sysobjects  where exec('alter table [dbo].[Test] add constraint ' + @csname + ' Default((18)) for age')。 

注意:默认值约束,不能修改。必须先drop之后再add drop的时候,必须知道当前“默认值约束的名称”。通过上面的sql可以查出Test表的age字段所绑定的“默认值约束名称”,才可以drop。

扩展资料:

DEFAULT 值只有当一个字段没有在 INSERT 或 MERGE 中指定值,或者使用了 DEFAULT 关键字时才会使用。如果不显式地声明一个 DEFULAT 值,SQL将隐式地将默认值定义为 NULL,而且 DEFAULT 关键字也是这样。

在SQL中,可以在 DEFAULT 子句中使用诸如 SYSDATE 或 CURRENT_TIMESTAMPE 之类的伪字段。

参考资料来源:

百度百科——约束

百度百科——SQL触发器

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-10
DEFAULT约束在执行INSERT INTO语句时,如果某列没有提供具体的值,那么它提供了一个默认值。
例如:
例如,下面SQL语句创建一个新的表名为CUSTOMERS,并增加了5列。 SALARY列设置为5000.00默认情况下,这样的情况下,INSERT INTPO声明并没有提供此列的值,则默认情况下,该列将被设置为5000.00。
CREATE TABLE CUSTOMERS(
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25) ,
SALARY DECIMAL (18, 2) DEFAULT 5000.00,
PRIMARY KEY (ID)
);

如果CUSTOMERS表中已经被创建,然后添加一个DFAULT约束的SALARY列默认值,那么需要写一个类似下面的语句:
ALTER TABLE CUSTOMERS
MODIFY SALARY DECIMAL (18, 2) DEFAULT 5000.00;

删除默认约束:
要删除一个DEFAULT约束,请使用下面的SQL语句:
ALTER TABLE CUSTOMERS
ALTER COLUMN SALARY DROP DEFAULT;本回答被网友采纳
第2个回答  2017-10-10
DEFAULT约束在执行INSERT INTO语句时,如果某列没有提供具体的值,那么它提供了一个默认值。
例如:
例如,下面SQL语句创建一个新的表名为CUSTOMERS,并增加了5列。 SALARY列设置为5000.00默认情况下,这样的情况下,INSERT INTPO声明并没有提供此列的值,则默认情况下,该列将被设置为5000.00。
CREATE TABLE CUSTOMERS(
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25) ,
SALARY DECIMAL (18, 2) DEFAULT 5000.00,
PRIMARY KEY (ID)
);

如果CUSTOMERS表中已经被创建,然后添加一个DFAULT约束的SALARY列默认值,那么需要写一个类似下面的语句:
ALTER TABLE CUSTOMERS
MODIFY SALARY DECIMAL (18, 2) DEFAULT 5000.00;

删除默认约束:
要删除一个DEFAULT约束,请使用下面的SQL语句:
ALTER TABLE CUSTOMERS
ALTER COLUMN SALARY DROP DEFAULT;
第3个回答  2013-07-24
你应该设置not null才行,要不然你没插入相应数据是会默认为空,像下面这样写,我测试过了create table rsb(性别 bit not null default 1)
第4个回答  2017-08-06
图中的default表示该字段的默认值是一个空的字符串‘’,即在插入记录时不指定该字段取值时默认用‘’作为插入值。问题补充中的的default其实应该是“DEFAULT CHARSET”的一部分,表示数据库中字符的默认编码方式采用utf-8
相似回答