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

php中文网
发布: 2016-06-07 17:47:49
原创
1950人浏览过

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 '',

阿里妈妈·创意中心
阿里妈妈·创意中心

阿里妈妈营销创意中心

阿里妈妈·创意中心 45
查看详情 阿里妈妈·创意中心

  `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中的一条记录。


*/
?>

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号