① sql中什么是复合外键它与外键的区别和关系是
没有这个概念吧,意思可能是有几个外键吧
主键是本张表的主键,是唯一且非空的,而外键是另一张表中与这张表的某个字段的类型,字段名相同的字段,一般是用作关联两张或两张以上的数据表时用的。
② 在SQL中,如何在复合主键上创立外键
--不能一列引用两列,必髯数列对应
use tempdb
go
create table s
(
sid varchar(20),
sname varchar(20),
ssex varchar(2) check(ssex='男' or ssex='女') default '男',
sage int check(sage between 0 and 100),
sclass varchar(20),
constraint event_key primary key (sid,sclass)----创建复合主键
)
create table t
(
teacher varchar(20) primary key,
sid varchar(20) not null,
sclass varchar(20) not null,
num int,
foreign key(sid,sclass) references s(sid,sclass)
)
③ sql中创建组合主键和组合外键
联合主键:primary
key(id,name)
外键:FOREIGN
KEY
(id,name)
REFERENCES
user(id,name)
注:联合主键的外键必须同时引用两个主键无法单个引用
④ SQL中,关于给复合外键添加数据
你可以先分别查查你要插入的showname,showtime和在你的表里面是否已经存在
⑤ sql怎么设置外键
sql server中建立外键约束有3中方式:enterprise manager中,tables,design table,设置table的properties,可以建立constraint, reference key;enterprise manager中,diagrams, new diagrams,建立两个表的关系;直接用transact sql语句。
1、三个方法都需要先建立数据表。
1)创建表author :
create table [dbo].[author] (
[id] [bigint] not null ,
[authorname] [char] (10) null ,
[address] [char] (480) null ,
[introction] [ntext] null
)
2)创建表mybbs:
reate table [dbo].[mybbs] (
[id] [bigint] identity (1, 1) not null ,
[authorid] [bigint] not null ,
[title] [char] (40) null ,
[date_of_created] [datetime] null ,
[abstract] [char] (480) null ,
[content] [ntext] null
)
2、设置表mybbs中的authorid为外键,参照author表的id字段,直接使用transact sql语句,过程如下:
1)增加表mybbs(authorid)的外键约束fk_mybbs_author,表mybbs中的authorid受表author中的主键id约束:
begin transaction
alter table dbo.mybbs add constraint fk_mybbs_author
foreign key (authorid)
references dbo.author([id]) on update cascade on delete cascade
2)删除外键约束fk_mybbs_author:
--alter table dbo.mybbs drop constraint fk_mybbs_author
--rollback
commit transaction
上面on update cascade,on delete cascade两个选项,指明以后author表的id字段有delete,update操作时,mybbs表中的id也会被级联删除或更新。如果没有选中,是不可以对author表中已被mybbs表关联的id进行update或者delete操作的。
拓展资料:
SQL的主键和外键的作用:
1、插入非空值时,如果主键表中没有这个值,则不能插入。
2、更新时,不能改为主键表中没有的值。
3、删除主键表记录时,你可以在建外键时选定外键记录一起级联删除还是拒绝删除。
4、更新主键记录时,同样有级联更新和拒绝执行的选择。
简而言之,SQL的主键和外键就是起约束作用。
⑥ SQL中什么叫复合外键
初学就买点书看看,光这里问是不可能学好的。
复合外键相对应的还有复合主键。
就是在同一张表中引用了同一张表中的同一个子段作为外键或主键
⑦ SQL中什么叫复合外键
有几种情况:
1.
where条件中如果使用了in关键字,肯定不会使用索引;
2.
where条件中使用了like关键字,并且是以'%'开头的,肯定不会用索引;
3.
having条件一般不会用索引
⑧ sql中创建组合主键和组合外键
联合主键:primary key(id,name)
外键:FOREIGN KEY (id,name) REFERENCES user(id,name)
注:联合主键的外键必须同时引用两个主键无法单个引用