MySQL外键的设置及作用
mysql 设置 作用 外键
2023-09-11 14:19:27 时间
原文地址:http://www.php100.com/html/webkaifa/database/Mysql/2010/0830/5342.html
外键的作用:
保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。 使两张表形成关联,外键只能引用外表中的列的值!
例如:
a b 两个表
a表中存有 客户号,客户名称
b表中存有 每个客户的订单
有了外键后
你只能在确信b 表中没有客户x的订单后,才可以在a表中删除客户x
建立外键的前提: 本表的列必须与外键类型相同(外键必须是外表主键)。
指定主键关键字: 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索引总结(2)-MySQL聚簇索引和非聚簇索引
- Mysql加锁过程详解(3)-关于mysql 幻读理解
- 为什么MySQL binlog_format一定要设置成row
- 《MySQL系列》 不建议给MySQL设置Null值的原因?
- mysql启动时报错:Starting MySQL... ERROR! The server quit without updating PID file (/opt/mysql/data/mysql.pid) 的解决方法
- mysql错误:java.sql.SQLException: The server time zone value ‘xxx‘ is unrecognized or represents 解决方法
- Mydumper - MySQL数据库备份工具
- MySQL常用运维SQL
- mysql分库分表主从复制
- 【mysql】MySQL的sql_mode模式说明及设置
- mysql数据查询 1.查询基础
- MySQL 添加数据 insert 命令及优化
- 转 mysql spool_用MySQL实现类似Oracle SPOOL的功能
- 转 MySQL权限管理
- [mysql]MySQL数据库如何导出
- MYSQL导入csv类型的数据出现The MySQL server is running with the --secure-file-priv option
- 设置mysql允许远程连接
- 设置服务器的MySQL允许远程访问/外网访问
- Navicat Premium 将sqlserver 数据库 导入mysql 中
- 记录MySQL运行的SQL
- (1.4)mysql sql mode 设置与使用
- (2.11)Mysql之SQL基础——存储过程与变量及动态SQL
- Mysql中出现please use mysql_upgrade to fix this errot解决的办法
- Mysql 1290 - The MySQL server is running with the --secure-file-priv option
- mysql 缓存机制
- MySQL 教程(基础篇)第04话:mysqld 和 mysql 命令的区别
- [Mysql] CAST函数