> 데이터 베이스 > MySQL 튜토리얼 > sql server ql语句删除外键和删除

sql server ql语句删除外键和删除

WBOY
풀어 주다: 2016-06-07 17:47:49
원래의
1729명이 탐색했습니다.

sql server ql语句删除外键和删除
alter   table   tablename   add   constraint   ordersrelationship  
                        foreign   key   mployeeid
      references   employees   (employeeid)  
                        on   delete     cascade  
                        on   update     cascade  
     

alter table books add constrait 外健名--指定一下名
add foreign key (isbn) references readers(readerid);
alter table books drop constraint 外健名


设置表mybbs中的authorid为sql外键的方法及步骤进行了详细说明,希望对您能够有所启迪。

设置表mybbs中的authorid为sql server外键,参照author表的id字段,直接使用transact sql语句,过程如下:

--增加表mybbs(authorid)的sql server外键约束fk_mybbs_author,表mybbs中的authorid受表author中的sql server主键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

--删除sl外键约束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操作的。

 

看个实例

create table `board` (

  `board_id` int(11) not null auto_increment,

  `catalog_id` int(11) not null default '0',

  `board_name` varchar(100) character set utf8 not null default '',

  `board_descrip` varchar(255) character set utf8 default null,

  `board_type` varchar(30) character set utf8 default null,

  primary key (`board_id`),

  key `外键` (`catalog_id`),

  constraint `外键约束` foreign key (`catalog_id`) references `catalog` (`catalog_id`)on delete cascade on update cascade //级联删除的关键语句

) engine=innodb auto_increment=13 default charset=gbk;


sql外键两种用途:
1/, 最常用的一种: 减少重复数据.表a中拥有外键,表b的数据基本是不允许删除的.这时选择对 insert 和 update 强制关系即可.
2/,其次,是增加一个从属表. 如果表a删除一条记录时,表b中也随着删除一条相关联的记录,那么外键关系中,表a的主键是表b的外键。这种关系,实际上表b是表a的从属表(即表a是父表),选择对 insert 和 update 强制关系时,如果向表b中插入数据,表a中必须已经存在对应的记录。选择级联删除相关的字段时,删除表a中的一条记录,就会删除对应的表b中的一条记录。


*/
?>

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿