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

运动网站源码搜索引擎优化代理

运动网站源码,搜索引擎优化代理,小程序企业网站源码,制作网站的手机软件1、MySQL 外键约束语法 MySQL 支持外键#xff0c;允许在表之间进行相关数据的交叉引用#xff0c;并有助于保持相关数据的一致性。 一个外键关系涉及到一个父表#xff0c;该父表保存初始列值#xff0c;和一个子表#xff0c;子表的列值引用父表的列值。外键约束定义在…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): Cant 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_CHECKS0; 使用此选项可以大幅度提高含有大量外键约束的数据库表的数据导入速度。 锁定 当执行涉及外键约束的更新、删除或插入操作时InnoDB 存储引擎会尝试获取必要的行级共享 (S) 锁定。如果无法立即获取这些锁定InnoDB 可能会产生等待锁定的情况。 外键错误 在操作涉及到外键约束的表时可能会遇到一些常见的错误比如 ERROR 1005 (HY000): Cant create table ... (errno: 150)MySQL 无法创建表因为外键约束无法正确地创建。这可能是由于数据类型不匹配或者被参照的键不存在。ERROR 1215 (HY000): Cannot add foreign key constraintMySQL 无法添加外键约束。同样可能是因为数据类型不匹配或者被参照的键不存在。ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails试图插入或更新一行但是外键约束失败。这通常意味着你正在尝试插入一个不存在于父表的值。
http://www.hkea.cn/news/14592760/

相关文章:

  • 青岛建站推广连锁加盟网站制作
  • 济宁手机网站建设公司佛山市网站建设 骏域动力
  • 上海高端定制网站公司我自己怎么建网站
  • 学网站开发推荐书图片在线编辑器免费
  • 怎么样免费给网站做优化中国搜索引擎大全
  • 玉林网站建设公司装企erp管理系统
  • 网站建设与管理的实训报告贵州企业展示型网站建设
  • 电子商务网站建设a卷广州天拓做网站吗
  • 车间管理系统中山做网站优化
  • 塔罗牌手机网站制作小型公众号开发
  • 东莞网站设计找谁网站建设佰金手指科杰二五
  • 兴山县铁路建设协调指挥部网站珠海网站建设平台
  • 美化wordpress后台宁波seo优化
  • 旅游网站网页设计方案我自己的网站
  • 美的企业微信网站外链网站推荐几个
  • 编写网站的语言有哪些响应式网站建设好么
  • 青岛网站建设公司怎么样国际新闻头条最新热点新闻
  • 做优惠券网站网站开发商外包
  • 连连建设跨境电商网站wordpress文章添加seo标题代码
  • lnmp怎么做网站建设农家书屋官方网站
  • 做文学类网站后期花费东莞精准网络营销推广
  • 网站seo网络优化深圳手机医疗网站建设
  • 兰州光辉网站建设wordpress安装音乐插件
  • 怎样建立一个自己的网站校园网站建设背景
  • 湖北定制型网站建设公路建设管理办公室网站
  • 零基础怎么建设网站wordpress简历模板
  • 佛山外贸网站建设行情合肥网站设计服务
  • 做海报一般都去什么网站看手机网站 生成
  • 丽水企业网站建设网站开发敬请期待
  • 免费注册微信网站中国空间站航天员首次出舱