是否可以手动触发数据库/系统错误,以查看和演示使用和不使用提交的影响和结果? MariaDB有吗?
生成错误或失败的一些方法(大致按严重性排序,可能缺少一些):
- 执行将导致错误的语句(例如,插入已经存在的主键以获取密钥冲突)
- 使用
SIGNAL
引发显式异常(如在其他编程语言中):SIGNAL 是"返回"错误的方式。SIGNAL 向处理程序、应用程序的外部部分或客户端提供错误信息。
- MariaDB 有事务超时,因此请等到达到超时限制才能获得:
错误 2006 (HY000): MySQL 服务器已消失
- 使用
KILL
终止特定连接或查询: KILL- CONNECTION 与 KILL 相同,没有修饰符:在终止连接正在执行的任何语句后,它会终止与给定processlist_id关联的连接。
- KILL QUERY 终止连接当前正在执行的语句,但保持连接本身不变。
- 从您的操作系统中终止 mariadb 进程
使用哪种方法无关紧要 - 未提交的事务最终将被回滚。最后两种方法也可以中断非事务性操作,如alter table
,并可能使表或数据库损坏。