mysql建立外键

yipeiwu_com7年前Mysql基础

建立外键的前提:本表的列必须与外键类型相同(外键必须是外表主键)。 


外键作用: 使两张表形成关联,外键只能引用外表中的列的值! 


指定主键关键字: foreign key(列名) 


引用外键关键字: references <外键表名>(外键列名) 


事件触发限制: on delete和on update , 可设参数cascade(跟随外键改动), restrict(限制外表中的外键改动),set Null(设空值),set Default(设默认值),[默认]no action 


例如: 


outTable表 主键 id 类型 int

 
创建含有外键的表:

create table temp( 
id int, 
name char(20), 
foreign key(id) references outTable(id) on delete cascade on update cascade);


说明:把id列 设为外键 参照外表outTable的id列 当外键的值删除本表中对应的列筛除 当外键的值改变 本表中对应的列值改变。                                                

相关文章

用mysql_fetch_array()获取当前行数据的方法详解

同mysql_fetch_row()类似,函数mysql_fetch_array()也是获取结果集中当前行数据,并在调用后自动滑向下一行。其定义如下。复制代码 代码如下:array my...

PHP通过插入mysql数据来实现多机互锁实例

本文实例讲述了PHP通过插入mysql数据来实现多机互锁的方法,分享给大家供大家参考。具体实现方法如下: 在执行流程之前可以加一般锁,shell枷锁函数如下,如果成功则会返回0,否则返回...

使用 MySQL Date/Time 类型

 由于曾经和他是同一个团队的,所以对于其我很熟悉他那“洁癖”的做法,对于他的很多的观点我也非常的赞同;但是有一件非常不理解的地方就是设计数据库的时候总是会回避使用 D...

php数据入库前清理 注意php intval与mysql的int取值范围不同

php保存数据到mysql 打算在dao层进行数据入库前的清理,比如varchar进行trim,int进行intval。 有一天突然想起,php intval的取值范围与mysql的in...

PHP源码之 ext/mysql扩展部分

我写过一个外部模块扩展,现在开始看PHP源码中的mysql扩展,它是可以被集成到PHP内部的,所以应该算是内置的扩展了。 该扩展需要用到mysql数据库提供的一些接口,所以需要安装了my...