+ -
当前位置:首页 → 问答吧 → 插入默认值

插入默认值

时间:2011-12-04

来源:互联网

SQL code

insert Result (examNo,stuNo,writtenExam,labExam)
select 'E2009120001','s25301',80,58 union
select 'E200120002','s25302',50,defult union
select 'E200120003','s25303',97 ,82


 怎么查默认值呢 用UNION 查不进去 但是用 VALUES 就可以插进去的 不明白

作者: baishaoge   发布时间: 2011-12-04

defult--单词错 default

作者: roy_88   发布时间: 2011-12-04

SQL code
默认值是这样用


use tempdb
go

create table #(ID int default 0)

insert into # values( default)

作者: roy_88   发布时间: 2011-12-04

SQL code
select 'E2009120001','s25301',80,58 union
select 'E200120002','s25302',50,defult union
select 'E200120003','s25303',97 ,82


这是生成一个结果集,再新增到表里


insert into ...values是不相同的,不可混在一起

作者: roy_88   发布时间: 2011-12-04

直接用NULL就OK了,数据库会取到你默认的值

作者: wquanchao   发布时间: 2011-12-04

引用 2 楼 roy_88 的回复:

SQL code
默认值是这样用


use tempdb
go

create table #(ID int default 0)

insert into # values( default)

那我这个是单独新建个查询嘛 还是 直接写在 insert里呢

作者: baishaoge   发布时间: 2011-12-04

SQL code

insert into Result (examNo,stuNo,writtenExam,labExam) values ('E2009120001','s25301',80,58)
insert into Result (examNo,stuNo,writtenExam,labExam) values('E200120002','s25302',50,defult)
insert into Result (examNo,stuNo,writtenExam,labExam) values ('E200120003','s25303',97 ,82)

作者: pengxuan   发布时间: 2011-12-04

引用 6 楼 pengxuan 的回复:

SQL code

insert into Result (examNo,stuNo,writtenExam,labExam) values ('E2009120001','s25301',80,58)
insert into Result (examNo,stuNo,writtenExam,labExam) values('E200120002','s25302',50,defult)
in……

怎么写 我知道能插入默认值,只不过这是单行插入 多行插入的时候用到default就出错

作者: baishaoge   发布时间: 2011-12-04

引用 7 楼 baishaoge 的回复:

引用 6 楼 pengxuan 的回复:

SQL code

insert into Result (examNo,stuNo,writtenExam,labExam) values ('E2009120001','s25301',80,58)
insert into Result (examNo,stuNo,writtenExam,labExam) values('E2001200……


只可以指定值,看一下表的默认值是?

select 1,'a'--如果是默认值a时,这样用,不是用default

看一下联机帮助

作者: roy_88   发布时间: 2011-12-04

引用 7 楼 baishaoge 的回复:
引用 6 楼 pengxuan 的回复:

SQL code

insert into Result (examNo,stuNo,writtenExam,labExam) values ('E2009120001','s25301',80,58)
insert into Result (examNo,stuNo,writtenExam,labExam) values('E20012000……

多行插入没有插入默认值的写法
insert into 
select .. union all
select .. union all
这种是先用select生成结果集,然后再应用insert的,而select 语法没有default

作者: pengxuan   发布时间: 2011-12-04

在创建表结构的时候就可以用默认值 在插入的时候直接不写这个字段,就有默认值了

作者: fredrickhu   发布时间: 2011-12-04

引用 8 楼 roy_88 的回复:

引用 7 楼 baishaoge 的回复:

引用 6 楼 pengxuan 的回复:

SQL code

insert into Result (examNo,stuNo,writtenExam,labExam) values ('E2009120001','s25301',80,58)
insert into Result (examNo,stuNo,writtenExam,……

默认值是 int型 0 你这插入默认值方式 前提在知道默认值 是多少才可以 如果不知道默认值 怎么能指定值呢

作者: baishaoge   发布时间: 2011-12-04

引用 10 楼 fredrickhu 的回复:

在创建表结构的时候就可以用默认值 在插入的时候直接不写这个字段,就有默认值了

但是 我用UNION 来插入数据的时候如果不写的话 不是就不能匹配表里的列嘛 这样会报错的  
小弟刚学 SQL 问的多 不好意思

作者: baishaoge   发布时间: 2011-12-04

热门下载

更多