MySQL删除级联测试例

简介: MySQL删除级联测试例

如何解决MySQL删除级联测试例?
答案d。当且仅当存储引擎实际支持并强制执行外键约束时,才是正确的。

如果使用创建表Engine=MyISAM,则b。或d。是正确的。

如果使用创建表Engine=InnoDB,则 是正确的。

注意:

仅当且仅当InnoDB才如此FOREIGN_KEY_CHECKS = 1。如果为FOREIGN_KEY_CHECKS = 0,则DELETE来自父表(foo)的a 不会 从子表(foo2)中删除引用从父表中删除的行的行。

使用SHOW VARIABLES LIKE 'foreign_key_checks' (1 = ON,0 = OFF)的输出进行验证(正常默认值为ON。)

来自的输出SHOW CREATE TABLE foo将显示表使用的引擎。

来自的输出SHOW VARIABLES LIKE 'storage_engine'将显示在创建表且未指定引擎时使用的默认引擎。

解决方法
我想知道这个测试问题。我自己准备了示例并进行了测试,但是我仍然不确定答案。

具有以下内容:

CREATE TABLE foo (
id INT PRIMARY KEY AUTO_INCREMENT,name INT
)
CREATE TABLE foo2 (
id INT PRIMARY KEY AUTO_INCREMENT,foo_id INT REFERENCES foo(id) ON DELETE CASCADE
)
据我所知,答案是:

一个。 创建两个表

虽然也有:

b。 如果删除表foo2中foo_id为2的行,则表foo中id = 2的行将被自动删除

d。如果删除表foo中id = 2的行,则删除表foo2中所有foo_id = 2的行

在我的示例中,我将使用delete语法:

DELETE FROM foo WHERE id = 2;
DELETE FROM foo2 WHERE foo_id = 2;
由于某种原因,我似乎找不到表之间的任何关系,尽管看起来应该有一个关系。也许有一些MySQL设置,或者ON DELETE CASCADE在表创建查询中未正确使用?我不知道…

声明:地推任务网所有作品(图片、文字)均由用户自行上传分享,仅供网友学习交流。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
8月前
|
SQL 缓存 关系型数据库
使用温InnoDB缓冲池启动MySQL测试
使用温InnoDB缓冲池启动MySQL测试
153 0
|
8月前
|
SQL 缓存 关系型数据库
MySQL8.4 Enterprise安装Firewall及测试
MySQL8.4 Enterprise安装Firewall及测试
275 0
|
8月前
|
安全 关系型数据库 MySQL
MySQL8使用物理文件恢复MyISAM表测试
MySQL8使用物理文件恢复MyISAM表测试
162 0
|
9月前
|
Oracle 关系型数据库 MySQL
使用崖山YMP 迁移 Oracle/MySQL 至YashanDB 23.2 验证测试
这篇文章是作者尚雷关于使用崖山YMP迁移Oracle/MySQL至YashanDB 23.2的验证测试分享。介绍了YMP的产品信息,包括架构、版本支持等,还详细阐述了外置库部署、YMP部署、访问YMP、数据源管理、任务管理(创建任务、迁移配置、离线迁移、校验初始化、一致性校验)及MySQL迁移的全过程。
|
Java 关系型数据库 MySQL
自动化测试项目实战笔记(一):JDK、Tomcat、MySQL、Jpress环境安装和搭建
这篇文章是关于自动化测试项目实战笔记,涵盖了JDK、Tomcat、MySQL、Jpress环境的安装和搭建过程,以及测试用例和常见问题总结。
303 1
自动化测试项目实战笔记(一):JDK、Tomcat、MySQL、Jpress环境安装和搭建
|
关系型数据库 MySQL 测试技术
【赵渝强老师】MySQL的基准测试与sysbench
本文介绍了MySQL数据库的基准测试及其重要性,并详细讲解了如何使用sysbench工具进行测试。内容涵盖sysbench的安装、基本使用方法,以及具体测试MySQL数据库的步骤,包括创建测试数据库、准备测试数据、执行测试和清理测试数据。通过这些步骤,可以帮助读者掌握如何有效地评估MySQL数据库的性能。
452 5
|
关系型数据库 MySQL 测试技术
使用docker部署MySQL测试环境
使用docker部署MySQL测试环境
283 0
|
11月前
|
数据可视化 前端开发 测试技术
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。
|
6月前
|
Java 测试技术 容器
Jmeter工具使用:HTTP接口性能测试实战
希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
1037 23
|
8月前
|
SQL 安全 测试技术
2025接口测试全攻略:高并发、安全防护与六大工具实战指南
本文探讨高并发稳定性验证、安全防护实战及六大工具(Postman、RunnerGo、Apipost、JMeter、SoapUI、Fiddler)选型指南,助力构建未来接口测试体系。接口测试旨在验证数据传输、参数合法性、错误处理能力及性能安全性,其重要性体现在早期发现问题、保障系统稳定和支撑持续集成。常用方法包括功能、性能、安全性及兼容性测试,典型场景涵盖前后端分离开发、第三方服务集成与数据一致性检查。选择合适的工具需综合考虑需求与团队协作等因素。
1264 24

推荐镜像

更多