位置: 编程技术 - 正文

关于MySQL外键的简单学习教程(mysql中的外键的定义)

编辑:rootadmin

推荐整理分享关于MySQL外键的简单学习教程(mysql中的外键的定义),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql外键语句怎么写,mysql外键名称有什么用,mysql外键语句怎么写,mysql外键语句怎么写,关于mySql外键的说法正确的是,mysql中的外键的定义,关于mySql外键的说法正确的是,关于mySql外键的说法正确的是,内容如对您有帮助,希望把文章链接给更多的朋友!

在MySQL中,InnoDB引擎类型的表支持了外键约束。外键的使用条件:1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前不支持);2.外键列必须建立了索引,MySQL 4.1.2以后的版本在建立外键时会自动创建索引,但如果在较早的版本则需要显示建立;3.外键关系的两个表的列必须是数据类型相似,也就是可以相互转换类型的列,比如int和tinyint可以,而int和char则不可以;外键的好处:可以使得两张表关联,保证数据的一致性和实现一些级联操作;外键的定义语法:代码如下:

该语法可以在 CREATE TABLE 和 ALTER TABLE 时使用,如果不指定CONSTRAINT symbol,MYSQL会自动生成一个名字。ON DELETE、ON UPDATE表示事件触发限制,可设参数:

RESTRICT(限制外表中的外键改动) CASCADE(跟随外键改动) SET NULL(设空值) SET DEFAULT(设默认值) NO ACTION(无动作,默认的)

如果子表试图创建一个在父表中不存在的外键值,InnoDB会拒绝任何INSERT或UPDATE操作。如果父表试图UPDATE或者DELETE任何子表中存在或匹配的外键值,最终动作取决于外键约束定义中的ON UPDATE和ON DELETE选项。InnoDB支持5种不同的动作,如果没有指定ON DELETE或者ON UPDATE,默认的动作为RESTRICT:

1. CASCADE: 从父表中删除或更新对应的行,同时自动的删除或更新自表中匹配的行。ON DELETE CANSCADE和ON UPDATE CANSCADE都被InnoDB所支持。

2. SET NULL: 从父表中删除或更新对应的行,同时将子表中的外键列设为空。注意,这些在外键列没有被设为NOT NULL时才有效。ON DELETE SET NULL和ON UPDATE SET SET NULL都被InnoDB所支持。

3. NO ACTION: InnoDB拒绝删除或者更新父表。

关于MySQL外键的简单学习教程(mysql中的外键的定义)

4. RESTRICT: 拒绝删除或者更新父表。指定RESTRICT(或者NO ACTION)和忽略ON DELETE或者ON UPDATE选项的效果是一样的。

5. SET DEFAULT: InnoDB目前不支持。

外键约束使用最多的两种情况无外乎:

1)父表更新时子表也更新,父表删除时如果子表有匹配的项,删除失败;

2)父表更新时子表也更新,父表删除时子表匹配的项也删除。

前一种情况,在外键定义中,我们使用ON UPDATE CASCADE ON DELETE RESTRICT;后一种情况,可以使用ON UPDATE CASCADE ON DELETE CASCADE。

InnoDB允许你使用ALTER TABLE在一个已经存在的表上增加一个新的外键:

InnoDB也支持使用ALTER TABLE来删除外键:ALTER TABLE tbl_name DROP FOREIGN KEY fk_symbol;

MySQL中的主键以及设置其自增的用法教程 1、声明主键的方法:您可以在创建表的时候就为表加上主键,如:CREATETABLEtbl_name([字段描述省略...],PRIMARYKEY(index_col_name));也可以更新表结构时为表加上

快速理解MySQL中主键与外键的实例教程 主键与外键的关系,通俗点儿讲,我现在有一个论坛,有两张表,一张是主贴thread,一张是回帖reply先说说主键,主键是表里面唯一识别记录的字段,一

MySQL中的唯一索引的简单学习教程 mysql唯一索引UNIQUE一般用于不重复数据字段了我们经常会在数据表中的id设置为唯一索引UNIQUE,下面我来介绍如何在mysql中使用唯一索引UNIQUE吧。创建唯

标签: mysql中的外键的定义

本文链接地址:https://www.jiuchutong.com/biancheng/312365.html 转载请保留说明!

上一篇:使用percona-toolkit操作MySQL的实用命令小结(使用时间)

下一篇:MySQL中的主键以及设置其自增的用法教程(mysql主键语句)

  • 小规模纳税人合理避税
  • 印花税的处理
  • 一般纳税人公司抵扣
  • 销售使用过的固定资产放弃减税
  • 公司股东和自然人股东可否代持股权
  • 计提应收的增值税返还
  • 如何分清进口农产品增值税抵扣率
  • 企业稳岗补贴怎么查
  • 小规模纳税人涉税风险
  • 小规模纳税人企业所得税怎么申报
  • 常见的税收优惠
  • 领料投入生产会计分录
  • 委托加工白酒怎么入账
  • 境外分回的股息并入应纳税所得
  • 总公司发工资子公司代缴个税
  • 小企业盈余公积弥补亏损分录
  • 预付设备款如何缴纳印花税
  • 律师事务所个人所得税
  • 总资产周转率ttm
  • 兼职劳务费个税怎么算
  • 企业所得税税率表2023年最新
  • 预计负债什么时候确认
  • 空调安装费计入什么科目
  • 怎样将u盘制作成电脑系统启动盘?
  • 怎么获得最新医学类指南
  • 公司免税是指免的什么税
  • 差旅费的会计处理
  • 如何控制网络速度
  • 虚拟机系统vmware
  • 贷款房屋评估费用
  • 公司投资款无法收回
  • 非货币性资产交换和债务重组的区别
  • 清明 哀思
  • 公司已经注销了还能劳动仲裁吗
  • 未分配利润可以弥补亏损吗
  • 手把手教你用气焊视频
  • 劳务费发票差额征税
  • update命令怎么用
  • 帝国cms怎么用
  • 留购价计入什么费
  • 个体工商户开普通发票需要交税吗
  • 样品开发计划
  • 一般纳税人可以转小规模纳税人吗
  • 社保缴费基数应该怎么算
  • 无票收入的增值税税率
  • 上年期末留底税额怎么算
  • 企业资金占用费利率
  • 暂估成本结转后需要冲回吗
  • 勘察设计费取费
  • 不交社保如何在网上投诉
  • 小规模企业自开收购牛发票增值税怎样申报
  • 土地出让金抵减销项税计算
  • 非营利机构如何申请
  • 公章变更需要到哪里办理
  • 新企业办理金税盘流程
  • 营改增问题解答
  • 如何创办企业(组建程序)
  • 如何查企业是否有问题
  • 房地产企业会计处理
  • mysql分区实现
  • ubuntu文本编辑器怎么打开
  • 电脑安装win8系统
  • shell脚本数字运算
  • unity做安卓app
  • xp系统explorer停止工作
  • 编程用到的所有函数
  • javascript教程完整版
  • 细说javascript
  • unity持久化存储
  • js canvas绘制图片
  • android打包v1v2
  • android 屏幕适配方案
  • 税务文书档案保管期限
  • 消费税的税收优惠政策导向
  • 税务巡视组一般检查什么
  • 曲靖市税务局领导班子
  • 增值税发票选择确认平台查询不到以开出的进项发票?
  • 北京国家税务局总局官网
  • 什么督导组词
  • 四川社保每年几月份交费
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设