为mysql数据表添加外键(二)
2007-10-08 15:28
387 查看
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 ;
一般来说,就选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查看和修改数据库表字段编码格式及添加删除外键操作
- MySql之DDL操作创建表(添加主键, 外键约束以及基本的数据类型)
- MySQL入门——修改数据表5:给指定表的指定字段添加外键约束
- MySQL入门——修改数据表4:添加主键约束、显示表结构、添加唯一约束、添加外键约束
- 为mysql数据表添加外键(一)
- 为mysql数据表添加外键(三)总结
- MySql入门之一:DDL操作创建表(添加主键, 外键约束以及基本的数据类型)
- 为mysql数据表添加外键(一) 收藏
- MySQL的数据类型,MySQL增删改--添加主外键、添加属性、删除主外键、改表名、获取系统当前时间等
- 为mysql数据表添加外键
- MySQL 添加外键约束,不检查现有数据
- mysql 添加、删除和修改数据
- mysql_mybatis添加数据时如果数据存在就更新,如果不存在就插入
- mysql给数据量大的表添加索引的办法
- MySQL添加外键失败ERROR 1452的解决
- MySQL 不能添加外键:Cannot add foreign key constraint错误
- MySql图解给表添加外键
- 添加外键的表如何插入数据
- mysql触发器把一张表插入的一个数据添加到另一张表
- java程序向Mysql 添加数据时发生异常:java.sql.SQLException: Incorrect string value: '\xE6\x9D\x8E\xE5\x87\xA4'