CASCADE: 从父表删除或更新且自动删除或更新子表中匹配的行。ON DELETE CASCADE和ON UPDATE CASCADE都可用。在两个表之间,你不应定义若干在父表或子表中的同一列采取动作的ON UPDATE CASCADE子句。
SET NULL: 从父表删除或更新行,并设置子表中的外键列为NULL。如果外键列没有指定NOT NULL限定词,这就是唯一合法的。ON DELETE SET NULL和ON UPDATE SET NULL子句被支持。
NO ACTION: 在ANSI SQL-92标准中,NO ACTION意味这不采取动作,就是如果有一个相关的外键值在被参考的表里,删除或更新主要键值的企图不被允许进行(Gruber, 掌握SQL, 2000:181)。 InnoDB拒绝对父表的删除或更新操作。
RESTRICT: 拒绝对父表的删除或更新操作。NO ACTION和RESTRICT都一样,删除ON DELETE或ON UPDATE子句。(一些数据库系统有延期检查,并且NO ACTION是一个延期检查。在MySQL中,外键约束是被立即检查的,所以NO ACTION和RESTRICT是同样的)。
SET DEFAULT: 这个动作被解析程序识别,但InnoDB拒绝包含ON DELETE SET DEFAULT或ON UPDATE SET DEFAULT子句的表定义。
分享到:
相关推荐
MySQL 中的外键只能在 InnoDB 存储引擎中生效,而其他存储引擎将忽略外键约束。 添加外键 --------- 在 MySQL 中,添加外键可以使用ALTER TABLE语句,例如: ``` ALTER TABLE ss_accesscode ADD FOREIGN KEY ...
只有InnoDB存储引擎支持外键约束,因此在创建数据表时,必须指定ENGINE=InnoDB。如果不设置,可能会导致外键约束不起作用。 此外,在使用PHPMyAdmin时,目前(直到4.0X和4.1X版本)尚未提供所见即所得的外键定义...
- 在InnoDB存储引擎中,外键约束是支持的;而在MyISAM存储引擎中,则不支持外键。 8. **实际应用** - 在电商系统中,订单表(Orders)可以通过外键关联用户表(Users),以标识下单的用户。 - 在论坛系统中,...
在MySQL中,外键约束主要用于InnoDB存储引擎,因为它支持事务处理和行级锁定,这在处理并发操作和数据完整性时至关重要。 在MySQL中,外键约束有四种行为类型: 1. CASCADE:当父表中的行被删除或更新时,会自动...
如果其中一个或者两个表是 MyISAM 引擎的表,若想要使用外键约束,必须是 InnoDB 引擎。实际上,如果两个表都是 MyISAM 引擎的,这个错误根本不会发生,但也不会产生外键。你可以通过查询浏览器来设置表的引擎类型。...
- **外键支持**:InnoDB支持外键约束,而MyISAM不支持。 - **表锁机制**:MyISAM使用表锁机制,降低了并发性能。 #### 4. 总结 本文详细介绍了MySQL InnoDB存储引擎中的索引原理及其实现方式,特别是B+树的应用。...
MySQL通过外键约束来保证表与表之间的数据的完整性和准确性。 2.外键的使用条件 两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前不支持) 外键列必须建立了索引,MySQL ...
MySQL通过外键约束来保证表与表之间的数据的完整性和准确性。 外键的使用条件: 1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前不支持); 2.外键列必须建立了索引,...
这是我从网上找到的mysql/mariadb对innodb表进行数据恢复的工具,实现从innodb的数据库文件中恢复数据,用于实现下面情况:1、直接下载了innodb数据库的文件,而不是导出其数据,想恢复数据时(需要有完整的文件,...
InnoDB提供了多种高级功能,如外键约束、事务管理以及崩溃恢复机制等。 3. **MySQL与InnoDB的关系** MySQL可以使用多种不同的存储引擎,而InnoDB是其中最流行的一个。从MySQL 5.1版本开始,InnoDB被集成作为插件...
Mysql 高可用 InnoDB Cluster 多节点搭建过程 Mysql 高可用 InnoDB Cluster 多节点搭建过程是指使用 Mysql 的 InnoDB Cluster 功能来搭建一个高可用性的集群环境。在这个过程中,我们将使用四台服务器,node01、...
mysql innodb类型数据库表 根据ibd文件获取表 space id,用于恢复innodb类型数据表数据
3. **外键约束**:InnoDB支持外键,这是其他一些存储引擎如MyISAM所不具备的。外键可以确保数据的参照完整性和数据库间的关系。 4. **MVCC(多版本并发控制)**:InnoDB使用MVCC来实现高并发读写,尤其是在可重复读...
MySQL InnoDB Cluster是一种高可用性解决方案,用于在MySQL 8中构建分布式数据库系统。它基于InnoDB存储引擎,提供了一种自动化的故障切换和数据复制功能,确保即使在单个节点故障时,整个集群也能保持运行。以下是...
6. **支持外键约束**:与MyISAM相比,InnoDB引擎支持外键约束,有助于维护数据库的完整性。 7. **不支持全文索引**:尽管InnoDB功能强大,但它不支持全文索引功能,这一点在特定的应用场景中可能需要额外考虑。 #...
1. **存储引擎限制**:MySQL 的外键约束只支持 InnoDB 存储引擎,不支持 MyISAM 等其他类型的存储引擎。 2. **命名规则**:外键名称可以使用 `constraint 'fk_name'` 或 `constraint "fk_name"` 形式指定。 3. **...