mysql建立外键

yipeiwu_com6年前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列 当外键的值删除本表中对应的列筛除 当外键的值改变 本表中对应的列值改变。                                                

相关文章

PHP mysql事务问题实例分析

本文实例分析了PHP的mysql事务问题。分享给大家供大家参考,具体如下: 对于myisam数据库,可以控制事务的进行: $mysqlrl = mysql_connect ( $db...

解析mysql 表中的碎片产生原因以及清理

大量删除数据必然会在数据文件中造成不连续的空白空间,而当插入数据时,这些空白空间则会被利用起来 。对于不同的存储引擎整理碎片的方式不一样。myisam可以有以下方式:mysql>...

编译PHP报错configure error Cannot find libmysqlclient under usr的解决方法

今天在64位Red Hat Enterprise Linux AS release 4 .7上编译PHP5.2.6出错,mysql是使用的RPM方式安装的,PHP编译代码如下: ....

php分页查询mysql结果的base64处理方法示例

本文实例讲述了php分页查询mysql结果的base64处理方法。分享给大家供大家参考,具体如下: public function public_about(){ $sql=...

PHP查询MySQL大量数据的时候内存占用分析

昨天, 有同事在PHP讨论群里提到, 他做的一个项目由于MySQL查询返回的结果太多(达10万条), 从而导致PHP内存不够用. 所以, 他问, 在执行下面的代码遍历返回的MySQL结果...