数据库中如何让外键自动填充主键的值。。

A表和B表,A表是主表,b表是子表,b表中有个外键字段是关联的a表主键。我想在主表添加数据时子表外键自动添加成主表的值... A表和B表,A表是主表,b表是子表,b表中有个外键字段是关联的a表主键。我想在主表添加数据时子表外键自动添加成主表的值 展开
 我来答
dong_1984dd
推荐于2017-09-13 · TA获得超过1.1万个赞
知道小有建树答主
回答量:1070
采纳率:100%
帮助的人:229万
展开全部
1. SQL的主键和外键的作用:
2.外键取值规则:空值或参照的主键值。
(1)插入非空值时,如果主键表中没有这个值,则不能插入。
(2)更新时,不能改为主键表中没有的值。
(3)删除主键表记录时,你可以在建外键时选定外键记录一起级联删除还是拒绝删除。
(4)更新主键记录时,同样有级联更新和拒绝执行的选择。
3.简而言之,SQL的主键和外键就是起约束作用。
4.完成外键自动填充主键的值,可以使用触发器,或在插入数据的时候填入;
触发器是在对表进行增、删、改时,自动执行的存储过程。触发器常用于强制业务规则, 它是一种高级约束,通过事件进行触发而被执行。
5.使用T-SQL语句来创建触发器
基本语句如下:
create trigger trigger_name
on {table_name view_name}
{for After Instead of }
[ insert, update,delete ]
as
sql_statement
6.在插入数据的时候,直接把主键数据赋给外键字段。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
薪释
推荐于2017-09-30
知道答主
回答量:14
采纳率:0%
帮助的人:14.9万
展开全部
在定义外键的的时候,将其设置为级连(CASCADE)操作,以保证参照完整性。如在SC表中定义外键:
FOREIGN KEY(Cno) REFERENCES Course(Cno)
ON UPDATE CASCADE /* 当更新course表中的cno时,级连更新SC表中相应的元组*/
ON DELETE CASCADE, /* 当删除course表中的cno时,级连删除SC表中相应的元组*/
因为默认是NO ACTION,即拒绝执行操作,所以需要显示地写出CASCADE
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式