数据库中如何让外键自动填充主键的值。。
A表和B表,A表是主表,b表是子表,b表中有个外键字段是关联的a表主键。我想在主表添加数据时子表外键自动添加成主表的值...
A表和B表,A表是主表,b表是子表,b表中有个外键字段是关联的a表主键。我想在主表添加数据时子表外键自动添加成主表的值
展开
2个回答
展开全部
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.在插入数据的时候,直接把主键数据赋给外键字段。
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.在插入数据的时候,直接把主键数据赋给外键字段。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在定义外键的的时候,将其设置为级连(CASCADE)操作,以保证参照完整性。如在SC表中定义外键:
FOREIGN KEY(Cno) REFERENCES Course(Cno)
ON UPDATE CASCADE /* 当更新course表中的cno时,级连更新SC表中相应的元组*/
ON DELETE CASCADE, /* 当删除course表中的cno时,级连删除SC表中相应的元组*/
因为默认是NO ACTION,即拒绝执行操作,所以需要显示地写出CASCADE
FOREIGN KEY(Cno) REFERENCES Course(Cno)
ON UPDATE CASCADE /* 当更新course表中的cno时,级连更新SC表中相应的元组*/
ON DELETE CASCADE, /* 当删除course表中的cno时,级连删除SC表中相应的元组*/
因为默认是NO ACTION,即拒绝执行操作,所以需要显示地写出CASCADE
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询