为mysql数据表添加外键(二)

原创 2007年10月08日 15:28:00

RESTRICT : 只要本表格里面有指向主表的数据, 在主表里面就无法删除相关记录。

一般来说,就选restrict最安全,当然也根据具体的业务而言了.cascade很cool,但是数据哗的一下就没了.

CASCADE : 如果在foreign key 所指向的那个表里面删除一条记录,那么在此表里面的跟那个key一样的所有记录都会一同删掉。

为book表添加外键:

明确指定外键的名称:alter table book add constraint FK_BOOK foreign key(pubid) references pub_com(id) on delete restrict on update restrict;

不指定外键的名称,mysql会自动为你创建一个外键名称:alter table book add foreign key(pubid) references pub_com(id) on delete restrict on update restrict;

使用:show create table book;命令可查看

使用:desc book;可查看表结构

##########

说明,以上文章是参考网络资源的。但是,我认为这篇文章把和外键约束有关的东西基本交代清楚了。

只是有个别的地方不够完善。

如于到下面的一种情况。

--
-- 限制导出的表
--
--
-- 限制表 `room_staus`
--
ALTER TABLE `room_staus` ADD CONSTRAINT `fk_rooms_roomtype` FOREIGN KEY ( `hotel_id` , `room_id` ) REFERENCES `room_type` ( `hotel_id` , `room_id` ) ON DELETE CASCADE ON UPDATE CASCADE ;


 

为mysql数据表添加外键(二)

RESTRICT : 只要本表格里面有指向主表的数据, 在主表里面就无法删除相关记录。 一般来说,就选restrict最安全,当然也根据具体的业务而言了.cascade很cool,但是数据哗的一下就没...
  • hongsejiaozhu
  • hongsejiaozhu
  • 2007-10-08 15:28:00
  • 2090

添加外键的表如何插入数据

数据的关系比较多的是使用外键去关联的,那直接插入数据到添加了外键的表的时候,那就会出现一个问题找不到这个外键值而报错。 这里有两个解决办法: 先对外键指定的那张子关系表添加你需要的数据后,再对使...
  • qq_30553773
  • qq_30553773
  • 2017-05-25 10:29:29
  • 2234

为mysql数据表添加外键(一)

1. 什么是参照完整性?——————–参照完整性(完整性约束)是数据库设计中的一个重要概念,当数据库中的一个表与一个或多个表进行关联时都会涉及到参照完整性。比如下面这个例子:文章分类表 -   cat...
  • hongsejiaozhu
  • hongsejiaozhu
  • 2007-10-08 15:30:00
  • 10822

为mysql数据表添加外键(三)总结

InnoDB也支持外键约束。InnoDB中对外键约束定义的语法看起来如下:[CONSTRAINT symbol] FOREIGN KEY [id] (index_col_name, ...)    R...
  • hongsejiaozhu
  • hongsejiaozhu
  • 2007-10-08 15:32:00
  • 12531

Oracle中给表添加主键、外键

1、创建表的同时创建主键约束   (1)无命名 create table student ( studentid int primary key not null, studentname...
  • qq_27828109
  • qq_27828109
  • 2016-05-27 13:51:56
  • 5406

add constraint 已有字段添加外键约束,报错问题

今天在我的m_order表中添加了一个字段   merchant_id  int  not null 关联  merchant表中的对应主键, 由于是新增加的字段,我在添加成功后该字段的值是0,在我添...
  • yigebaichi_01
  • yigebaichi_01
  • 2016-08-27 23:16:14
  • 786

MySQL入门——修改数据表4:添加主键约束、显示表结构、添加唯一约束、添加外键约束

这里的添加主键约束、添加唯一约束,指的是列级约束,是在数据表创建以后再添加的。  例如,给user3表中的id字段添加主键约束: ALTER TABLE user3 ADD PRIMARY KEY(...
  • wang907553141
  • wang907553141
  • 2017-06-05 21:36:14
  • 557

mysql如何添加一个表的外键

1:创建一个父表,主键作为子表的外键: 1 create table province( 2 pId int primary key auto_increment, 3 pNam...
  • Biexiansheng
  • Biexiansheng
  • 2017-08-21 16:26:55
  • 3244

MySQL入门——修改数据表5:给指定表的指定字段添加外键约束

添加外键约束,相对于添加主键约束、添加唯一约束要复杂一点。 例如,给user3表中已有的字段pid3添加外键约束,参照province表的主键列id: ALTER TABLE user3 ADD...
  • SCNUHB
  • SCNUHB
  • 2016-05-20 22:27:01
  • 5422

为mysql数据表添加外键

 RESTRICT : 只要本表格里面有指向主表的数据, 在主表里面就无法删除相关记录。 一般来说,就选restrict最安全,当然也根据具体的业务而言了.cascade很cool,但是数据哗的一下就...
  • Halcyon_FU
  • Halcyon_FU
  • 2007-09-20 08:38:00
  • 596
收藏助手
不良信息举报
您举报文章:为mysql数据表添加外键(二)
举报原因:
原因补充:

(最多只允许输入30个字)