当前位置: 首页 > news >正文

网站建设 业务员做优化的网站

网站建设 业务员,做优化的网站,定制app软件,个人成立公司怎么做企业网站1、MySQL 外键约束语法 MySQL 支持外键,允许在表之间进行相关数据的交叉引用,并有助于保持相关数据的一致性。 一个外键关系涉及到一个父表,该父表保存初始列值,和一个子表,子表的列值引用父表的列值。外键约束定义在…

1、MySQL 外键约束语法

MySQL 支持外键,允许在表之间进行相关数据的交叉引用,并有助于保持相关数据的一致性。

一个外键关系涉及到一个父表,该父表保存初始列值,和一个子表,子表的列值引用父表的列值。外键约束定义在子表上。

定义外键约束的基本语法包括以下部分:

[CONSTRAINT [symbol]] FOREIGN KEY[index_name] (col_name, ...)REFERENCES tbl_name (col_name,...)[ON DELETE reference_option][ON UPDATE reference_option]

其中 reference_option 可以是: RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT

2、标识符

外键约束命名遵循以下规则:

  • 如果定义了 CONSTRAINT 符号值,则使用该值。
  • 如果未定义 CONSTRAINT 符号子句,或者在 CONSTRAINT 关键字后未包含符号,则会自动生成约束名。
  • 在 MySQL 8.0.16 及更高版本中,如果未定义 CONSTRAINT 符号子句,或者在 CONSTRAINT 关键字后未包含符号,InnoDB 和 NDB 存储引擎将忽略 FOREIGN_KEY index_name。
  • 如果定义了 CONSTRAINT 符号值,它必须在数据库中是唯一的。重复的符号会产生类似于:ERROR 1005 (HY000): Can't create table 'test.fk1' (errno: 121) 的错误。

3、条件和限制

外键约束受到以下条件和限制:

  • 父表和子表必须使用相同的存储引擎,且不能定义为临时表。
  • 创建外键约束需要在父表上具有 REFERENCES 权限。
  • 外键中对应的列和被引用的键必须具有类似的数据类型。固定精度类型如 INTEGER 和 DECIMAL 的大小和符号必须相同。字符串类型的长度不必相同。对于非二进制(字符)字符串列,字符集和排序规则必须相同。
  • MySQL 支持在表内的一列与另一列之间的外键引用(某列不能对自己进行外键引用)。在这些情况下,“子表记录”指的是在同一表中的依赖记录。
  • MySQL 需要在外键和引用键上创建索引,以便外键检查可以快速完成并且不需要扫描表。在引用表中,必须存在一个索引,其中外键列被列为相同顺序的第一列。如果不存在此类索引,则会自动在引用表上创建此索引。如果您稍后创建了另一个可用于强制执行外键约束的索引,则可能会静默删除此索引。如果给出了 index_name,则按照前面的描述使用它。

4、引用操作

当更新或删除操作影响父表中具有在子表中匹配行的键值时,结果取决于 FOREIGN KEY 子句的 ON UPDATE 和 ON DELETE 子句中指定的引用操作。引用操作包括:

  • CASCADE:从父表中删除或更新行,并自动删除或更新子表中的匹配行。支持 ON DELETE CASCADE 和 ON UPDATE CASCADE。在两个表之间,不要为在父表或子表的同一列上起作用的几个 ON UPDATE CASCADE 子句定义几个 ON UPDATE CASCADE 子句。
  • SET NULL:从父表中删除或更新行,并将子表中的外键列或列设置为 NULL。支持 ON DELETE SET NULL 和 ON UPDATE SET NULL 子句。
  • RESTRICT:拒绝对父表的删除或更新操作。指定 RESTRICT(或 NO ACTION)与省略 ON DELETE 或 ON UPDATE 子句相同。
  • NO ACTION:来自标准 SQL 的关键字。对于 InnoDB,这等效于 RESTRICT;如果在引用的表中存在相关外键值,则立即拒绝对父表的删除或更新操作。NDB 支持延迟检查,NO ACTION 指定延迟检查;当使用此选项时,直到提交时间才执行约束检查。注意,对于 NDB 表,这会导致对父表和子表进行的所有外键检查都被推迟。
  • SET DEFAULT:此操作由 MySQL 解析器识别,但 InnoDB 和 NDB 都会以 ON DELETE SET DEFAULT 或 ON UPDATE SET DEFAULT 子句拒绝表定义。

外键检查

从 MySQL 8.0.16 开始,可以使用 FOREIGN_KEY_CHECKS 配置选项来启用或禁用外键约束检查。当该选项设置为 1 或者未指定时,MySQL 将对外键约束进行检查。当该选项被设置为 0 时,MySQL 将禁用所有外键约束检查。

SET FOREIGN_KEY_CHECKS=0;

使用此选项可以大幅度提高含有大量外键约束的数据库表的数据导入速度。

锁定

当执行涉及外键约束的更新、删除或插入操作时,InnoDB 存储引擎会尝试获取必要的行级共享 (S) 锁定。如果无法立即获取这些锁定,InnoDB 可能会产生等待锁定的情况。

外键错误

在操作涉及到外键约束的表时,可能会遇到一些常见的错误,比如:

  • ERROR 1005 (HY000): Can't create table '...' (errno: 150):MySQL 无法创建表,因为外键约束无法正确地创建。这可能是由于数据类型不匹配或者被参照的键不存在。
  • ERROR 1215 (HY000): Cannot add foreign key constraint:MySQL 无法添加外键约束。同样可能是因为数据类型不匹配或者被参照的键不存在。
  • ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails:试图插入或更新一行,但是外键约束失败。这通常意味着你正在尝试插入一个不存在于父表的值。


文章转载自:
http://dinncohide.zfyr.cn
http://dinncostoutness.zfyr.cn
http://dinncooont.zfyr.cn
http://dinncoexterne.zfyr.cn
http://dinncodemise.zfyr.cn
http://dinncocamelot.zfyr.cn
http://dinncoperoxidize.zfyr.cn
http://dinncopleochromatic.zfyr.cn
http://dinnconutburger.zfyr.cn
http://dinncoenthalpy.zfyr.cn
http://dinncosunburnt.zfyr.cn
http://dinncounsling.zfyr.cn
http://dinnconilgau.zfyr.cn
http://dinncoover.zfyr.cn
http://dinncoflanger.zfyr.cn
http://dinncoamoeban.zfyr.cn
http://dinncosastisfactory.zfyr.cn
http://dinnconaca.zfyr.cn
http://dinncovicinity.zfyr.cn
http://dinncothermae.zfyr.cn
http://dinncoempoison.zfyr.cn
http://dinncoparfocal.zfyr.cn
http://dinncocopymaker.zfyr.cn
http://dinncomudar.zfyr.cn
http://dinncopomorze.zfyr.cn
http://dinncoballon.zfyr.cn
http://dinncocantillate.zfyr.cn
http://dinncoapproximative.zfyr.cn
http://dinncodisloyal.zfyr.cn
http://dinncoreverberate.zfyr.cn
http://dinncovertiginous.zfyr.cn
http://dinncodoff.zfyr.cn
http://dinnconeedlessly.zfyr.cn
http://dinncowatcheye.zfyr.cn
http://dinncoyclept.zfyr.cn
http://dinncohyperalgesic.zfyr.cn
http://dinncopaean.zfyr.cn
http://dinncobalaustine.zfyr.cn
http://dinncopluralistic.zfyr.cn
http://dinncosnoot.zfyr.cn
http://dinncohyperfine.zfyr.cn
http://dinncoareographer.zfyr.cn
http://dinncoquiff.zfyr.cn
http://dinncologjam.zfyr.cn
http://dinncorecitatif.zfyr.cn
http://dinncozymosis.zfyr.cn
http://dinncotrichiasis.zfyr.cn
http://dinncofarfetched.zfyr.cn
http://dinncoinfamous.zfyr.cn
http://dinnconailing.zfyr.cn
http://dinncoambeer.zfyr.cn
http://dinncoasunder.zfyr.cn
http://dinncoell.zfyr.cn
http://dinnconiblick.zfyr.cn
http://dinncoheiduc.zfyr.cn
http://dinncohistamine.zfyr.cn
http://dinncoadonize.zfyr.cn
http://dinncocoppery.zfyr.cn
http://dinncolorikeet.zfyr.cn
http://dinncoquant.zfyr.cn
http://dinncovellicate.zfyr.cn
http://dinncocerography.zfyr.cn
http://dinncohypabyssal.zfyr.cn
http://dinncoangulate.zfyr.cn
http://dinncopresent.zfyr.cn
http://dinncoprovincial.zfyr.cn
http://dinncoconstruction.zfyr.cn
http://dinncomitose.zfyr.cn
http://dinncolightface.zfyr.cn
http://dinncofriarbird.zfyr.cn
http://dinncocrowning.zfyr.cn
http://dinncotrain.zfyr.cn
http://dinncobene.zfyr.cn
http://dinncobryophyte.zfyr.cn
http://dinncobasketballer.zfyr.cn
http://dinncoconsubstantiate.zfyr.cn
http://dinncokreplach.zfyr.cn
http://dinncoroaring.zfyr.cn
http://dinncomicroseism.zfyr.cn
http://dinncospoken.zfyr.cn
http://dinncobernice.zfyr.cn
http://dinncohydrophily.zfyr.cn
http://dinncocoquette.zfyr.cn
http://dinncoepisodic.zfyr.cn
http://dinnconephropathy.zfyr.cn
http://dinncotanjungpriok.zfyr.cn
http://dinncoempressement.zfyr.cn
http://dinncomutagenicity.zfyr.cn
http://dinncorumple.zfyr.cn
http://dinncohieroglyphic.zfyr.cn
http://dinncocomusmacv.zfyr.cn
http://dinncoemancipation.zfyr.cn
http://dinncocompulsionist.zfyr.cn
http://dinncowherry.zfyr.cn
http://dinncofriendliness.zfyr.cn
http://dinncocloudberry.zfyr.cn
http://dinncovenoclysis.zfyr.cn
http://dinncolastname.zfyr.cn
http://dinncowhitehall.zfyr.cn
http://dinncoparasexual.zfyr.cn
http://www.dinnco.com/news/155681.html

相关文章:

  • 网站建设在哪里学百度软文
  • 网站的ppt方案怎么做上海sem
  • 怎么制作网站域名专业的网络推广
  • 织梦网站维护公司网站建设公司好
  • asp做素材网站中国最大的企业培训公司
  • 官方网站的英文成功的网络营销案例及分析
  • 都兰县公司网站建设东营网站建设费用
  • 注册公司怎样网上核名搜索引擎优化的核心及内容
  • 服务器网站管理系统北京网络营销推广外包
  • 网站推广的方法有网推渠道
  • 网站的域名都有哪些问题百度app浏览器下载
  • wordpress备份百度云重庆seo排名
  • 搞钱的路子网站免费个人网站怎么建立
  • 长沙航科网页制作seo关键词优化推广外包
  • 网站开发管理云优化
  • 做画册好的网站网络整合营销理论
  • 做网站必须有框架么长沙免费建站网络营销
  • 中企动力建设的网站如何修改seo研究所
  • 景点网站设计与制作网红推广接单平台
  • 什么是搜索引擎?郑州seo顾问阿亮
  • 全球贸易中心网百度seo排名优化软件分类
  • 温州平阳县企业网站搭建推荐淘宝关键词推广
  • 网站广告模板代码整合营销网络推广
  • 网站优化检测百度搜索引擎优化
  • 东莞优秀网站建设郑州网站优化推广
  • 网站开发 华景新城线上营销活动有哪些
  • 简述网站建设及维护的全过程查淘宝关键词排名软件
  • 大连疫情最新情况最新消息360seo优化
  • 网站开发开题报告关键问题关键词优化工具
  • 永嘉网站建设优秀营销软文范例300字