27,579
社区成员
发帖
与我相关
我的任务
分享
--这个吧
insert tb
values('val','val2',default) --default是对应默认值的字段。
--如果你这样就会出错,估计你是类似这样操作的:
INSERT tb VALUES (11,21,NULL)
/*
消息 515,级别 16,状态 2,第 1 行
不能将值 NULL 插入列 'c',表 'mydb.dbo.tb';列不允许有 Null 值。INSERT 失败。
语句已终止。
*/
DECLARE @a table(a INT NOT NULL default(3),b INT)
INSERT @a(b) values(1)
INSERT @a(a,b)values(8,2)
INSERT @a(a,b)values(default,3)
SELECT * FROM @a
--result
/*a b
----------- -----------
3 1
8 2
3 3
(所影响的行数为 3 行)
*/
IF OBJECT_ID('[tb]') IS NOT NULL
DROP TABLE [tb]
GO
CREATE TABLE [tb] (a int,b int,c int not null default 100)
--1.
INSERT tb(a,b) VALUES (10,20)
SELECT * FROM TB
/*
a b c
----------- ----------- -----------
10 20 100
(1 行受影响)
*/
--2.
INSERT tb VALUES (11,21,default)
SELECT * FROM TB
/*
a b c
----------- ----------- -----------
10 20 100
11 21 100
(2 行受影响)
*/
插入的时候可以参考这两种方式:
--1.
insert tb(col1,col2) --这里不含默认值的字段
values('val1','val2')
--2.
issert tb
values('val','val2',default) --default是对应默认值的字段。