新添表,直接加在列后面 CREATE TABLE 表( ID INT DEFAULT(1) ,TestStr VARCHAR(10) ) 如果是已经存在表,则 ALTER TABLE 表名 ADD CONSTRAINT 随便取一个约束名 DEFAULT(默认值) FOR [列名]
你不插入,就是默认值。 insert into tablename(colname) values(colu) 在colname里面不知道这一列。插入数据。他就会是默认值。
USE tempdb GO IF OBJECT_ID('T') IS NOT NULL DROP TABLE T CREATE TABLE T(ID INT ,Num INT) go INSERT INTO T(ID)VALUES(1) go SELECT * FROM T/* ID Num 1 NULL */ALTER TABLE T ADD CONSTRAINT DF_T_Num DEFAULT 0 FOR Num; GO --更新默认值 UPDATE T SET Num=0 WHERE Num IS NULL GO SELECT * FROM T /* ID Num 1 0 */
--新增一条记录 INSERT INTO T(ID)VALUES(2) go SELECT * FROM T /* ID Num 1 0 2 0 */
create table dbo.test ( id int not null constraint df_test_id default(1), col1 INT ) --在插入时如果不指定带有默认值的列,那么sql会在该列自动填充默认值 insert into dbo.test(col1) select 1 union all select 2select * from dbo.test--如果插入时也显示指定了带有默认值的列,那就只能显示插入默认值。 insert into dbo.test(id,col1) select 1,1 select * from dbo.test
你在执行 insert 里,不指定该列的值,自动就是默认值 。
--新表 create table tb (sno int, sex char(2) default('男'))insert into tb(sno) values(1001)select * from tb--结果如下: /* sno sex 1001 男 */
1,如果你在创建表时没有给字段设置默认值约束,你可以运行下面的代码向字段添加默认值约束 alter table 表名 add constraint 约束名 default 默认值 for 字段 2,如果你在创建表时给字段设置了默认值约束,你在向表里面插入数据时,就不用向该字段插入数据,他会自动插入默认值
接上次的回答,在sql server 2000中在插入记录时要点返回,再进表才会显示,在sql server2008中要点感叹号执行才会显示
CREATE TABLE 表(
ID INT DEFAULT(1)
,TestStr VARCHAR(10)
)
如果是已经存在表,则
ALTER TABLE 表名 ADD CONSTRAINT 随便取一个约束名 DEFAULT(默认值) FOR [列名]
insert into tablename(colname) values(colu)
在colname里面不知道这一列。插入数据。他就会是默认值。
GO
IF OBJECT_ID('T') IS NOT NULL
DROP TABLE T
CREATE TABLE T(ID INT ,Num INT)
go
INSERT INTO T(ID)VALUES(1)
go
SELECT * FROM T/*
ID Num
1 NULL
*/ALTER TABLE T ADD CONSTRAINT DF_T_Num DEFAULT 0 FOR Num;
GO
--更新默认值
UPDATE T SET Num=0 WHERE Num IS NULL
GO
SELECT * FROM T
/*
ID Num
1 0
*/
INSERT INTO T(ID)VALUES(2)
go
SELECT * FROM T
/*
ID Num
1 0
2 0
*/
(
id int not null constraint df_test_id default(1),
col1 INT
)
--在插入时如果不指定带有默认值的列,那么sql会在该列自动填充默认值
insert into dbo.test(col1)
select 1
union all
select 2select * from dbo.test--如果插入时也显示指定了带有默认值的列,那就只能显示插入默认值。
insert into dbo.test(id,col1)
select 1,1
select * from dbo.test
--新表
create table tb
(sno int,
sex char(2) default('男'))insert into tb(sno) values(1001)select * from tb--结果如下:
/*
sno sex
1001 男
*/
alter table 表名
add constraint 约束名 default 默认值 for 字段
2,如果你在创建表时给字段设置了默认值约束,你在向表里面插入数据时,就不用向该字段插入数据,他会自动插入默认值