‘壹’ 怎么在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中如何为表添加外键约束
-〉INDEX
(category_id),
->
FOREIGN
KEY
(category_id)
REFERENCES
categories
(category_id),
->
CONSTRAINT
fk_member
FOREIGN
KEY
(member_id)
REFERENCES
members
(member_id),
->
PRIMARY
KEY(article_id)
范例中的添加外键约束就是这种形式
如果是概念的问题,直接参考书籍,一般添加外键约束,主要在创建表中.
‘叁’ 在SQL中什么是外键,怎样建立外键约束
外键约束一般是指这个这个字段的值只能在另外一个字段(外键)里面选择,他的取值范围只能是另外一个字段里面的
‘肆’ sql语句添加外键约束。
外键关系通俗来讲就是将两个表关联起来用的
以学生和班级来举例子
新建一个学生表student
新建一个班级表 grade
然后每个学生,都对应一个班级,比如学生A是X班,学生B也是X班,就没必要在学生表里面存储重复的班级名称,因此需要一个班级表
只要存储一个班级表的id,就可以记录该学生班级的所有详细信息了
关联起来显示就是:
select * from student, grade where student.gradeId = grade.id
通过外键关联,显示学生信息和班级信息的所有数据,并根据外键进行一一匹配
‘伍’ 请问怎么在SQL中设置外键
sql ce表中建立外键约束的语法:CREATE TABLE DetectTable(UserID integer,StartTime datetime not null,EndTime datetime not null,MassName nvarchar(10), foreign key (UserID) references UserTable(UserID)),其中,UserID为UserTable表中的主键。
也可以在创建数据库关系图直接拖
在数据库关系图上右键--新建关系图--添加表然后直接用鼠标拖字段连接就可以建立外键约束了
‘陆’ 在SQL中如何创建外键约束
可以用创建关系图的方式进行约束,步骤如下
企业管理器中打开数据库,新建关系图,选出自己所要的几张表,然后将对应的外键用鼠标连接到另一张表的主键上就行了
ps
环境
sql2000
‘柒’ sql创建表时设置外键约束
在近几年的实际的项目中,创建表的时候一般不会使用真正意义上的物理主外键来关联两个表。而是在业务上通过逻辑上的主外键进行关联。
以前的软件架构中偏向于使用主外键,在创建表的时候就直接指定某个表的某个字段,引用另外一个表的主键。现在很少这样做了。
‘捌’ 求助sql sever高手如何创建外键并约束!分不是问题
1、可以建立数据库关系图,把要关联的表拖进去,让后然后把一张表的主键拖到另一个张表所要的外键上,点击保存就可以了2,用代码生成:alter table 外键表名字 add constraint 主外间关系名字 foreign key (外键字段) references 主键表([主键])
‘玖’ 怎样在用sql语句创建表的同时添加外键约束
像下面这样就好了,FOREIGN KEY(外键) REFERENCES 表名(字段)
FOREIGN KEY (`operatorid`) REFERENCES `jr_operator` (`id`)