为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添加数据表

前言(可略):每次都有废话,工作逼着拖沓的我前进。累觉不爱。。 平台:win10(64bit),mysql5.1.73 mysql一般有压缩包和msi两种文件,压缩包设置path,命令窗安装;ms...
  • fx_odyssey
  • fx_odyssey
  • 2017年06月05日 12:32
  • 113

MySQL之操作数据表二

MySQL 数据库 NULL&&NOT NULL PRIMARY KEY UNIQUE KEY DEFAULT
  • Eternity0V0
  • Eternity0V0
  • 2016年03月23日 20:15
  • 251

MySQL数据库与数据表(二)

1、主键约束与唯一约束 PRIMARY KEY | UNIQUE KEY 主键约束 | 唯一约束 一张表只有一个 | 一张表可以有多...
  • aaa333qwe
  • aaa333qwe
  • 2017年07月17日 11:33
  • 72

【MySQL之设计表(一)】**重要***MySQL数据库表设计中的注意事项

一、设计原则 1.选择优化的数据类型 MySQL支持很多种不同的数据类型,并且选择正确的数据类型对于获得高性能至关重要。不管选择何种类型,下面的简单原则都会有助于做出更好的选择: (...
  • cangchen
  • cangchen
  • 2015年05月12日 17:45
  • 7634

Mysql新增字段到大数据表导致锁表

年初跳完槽,终于可以安心开始写一些博客了。进入新的公司,还是有蛮多收获的。那就先记一个昨天遇到的问题吧。      昨天晚上7点左右,对一张表进行加字段,大概200多万条记录,字段90多个的大表,结...
  • woyantianyi
  • woyantianyi
  • 2016年06月16日 11:34
  • 7247

mysql中创建数据表

从今天开始学习mysql数据库,希望以后能够记录自己学习的点点滴滴 mysql中创建数据表 1.创建一个数据库为test_db mysql> create database test_db; ...
  • weiwangsisoftstone
  • weiwangsisoftstone
  • 2013年03月07日 21:18
  • 28147

MySQL向一张表中插入多条测试数据的方法

在MySQL数据库中,有时为了建立测试表格
  • yumushui
  • yumushui
  • 2014年07月16日 14:28
  • 1735

mysql 数据库表结构设计与规范

mysql 数据库表结构设计与规范DDL(data difinition language)就是数据定义语言。1.sql语句的界定符[code]– 默认情况下” ; ” 代表sql语句的结束 del...
  • qq632544991p
  • qq632544991p
  • 2017年06月06日 15:00
  • 882

MySQL中大数据表增加字段,增加索引实现

最近遇到的一个问题,需要在一张1800万数据量的表中添加加一个字段并添加索引,但是直接添加会导致mysql崩溃或者锁表时间太长影响用户操作,所以需要利用其他的方法进行添加,这篇文章主要给大家介绍了My...
  • json_ligege
  • json_ligege
  • 2017年11月16日 14:44
  • 329

MySQL数据库(表)的导入导出(备份和还原) mysql 根据一张表数据更新另一张表

mysql 根据一张表数据更新另一张表 sql示例 update a  ,b  set  a.name = b.name  where  a.id = b.id ...
  • haluoluo211
  • haluoluo211
  • 2016年08月29日 18:06
  • 3473
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:为mysql数据表添加外键(二)
举报原因:
原因补充:

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