你在插入的时候只用insert into user (username,password) values('','')
外键数据就是这个外键所对应的表中必须存在这条数据,你才可以在外键的位置插入这条数据。比如A表是主表,B表为外键所在表:
A
id
name
B
id
aid
如果B表中aid为外键,对应A表的主键id,则在B表中插入数据时,aid字段的值必须在A表中存在。即,如果A表数据如下:
A
id
name
1
a1
2
a2
3
a3
4
a4
则,B表中插入数据时,如果aid为1~4,由于A表中存在该数据,插入可;但如果aid为A表中存在以外的数据(非1~4),则插入不可,因为外键要求主表必须存在这样的数据。
主键设为identity,按流水号自动生成视频id,然后将其插入博客表,同时将生成的视频id插入视频表:--建表
create table blog (
id int identity(1,1),
vid varchar(20) not null
/*更多列
colu1 int,
colu2 char ...*/
)
create table vedio (
vid varchar(20) not null
/*更多列
colu1 int,
colu2 char ...*/
)
--存储过程
alter proc insert_v
/*自己定义需要传入的参数
@pra1 int,
@pra2 char ...*/
as
declare @v_id varchar(30),
/*自己定义内部参数
@pra_1 int,
@pra_2 char ...*/
select @v_id = datename(yy,getdate()) + datename(mm,getdate())
+ datename(dd,getdate()) + datename(hh,getdate()) + datename(mi,getdate())
+ datename(ss,getdate())
insert into blog values(@v_id/*,@pra1,@pra2...*/)
insert into vedio values(@v_id/*,@pra1,@pra2...*/)
--调用存储过程
exec insert_v /*'pra1','pra2',...*/
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)