1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > mysql 删除外键 sql语句_sql server ql语句删除外键和删除

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

时间:2018-08-30 08:16:22

相关推荐

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

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中文网,转载请注明出处,感谢您的尊重!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。