MySQL数据库默认的存储引擎类型是MyISAM,这种存储引擎类型不支持事务处理。
在MySQL中,只有InnoDB存储引擎类型的数据表才能支持事务处理。
因此,如果想让MySQL支持事务处理,只要将数据表修改为InnoDB存储引擎类型即可。操作步骤如下:
1. 进入到phpMyAdmin主界面,在导航面板中选择要转换为InnoDB存储引擎类型的数据库,例如选择db_xuesheng数据库。如下图所示:
![在phpMyAdmin中选择数据库](https://www.codeprj.com/image/aHR0cDovL3d3dy5iYWlrZTM2OS5jb20vY29udGVudC9pbWFnZXMvMjAxNDA2LzQ2OTIuZ2lm.png)
2. 在主界面顶端点击“SQL”超链接,打开“在数据库db_xuesheng运行SQL查询”窗口。如下图所示:
![“在数据库db_xuesheng运行SQL查询”窗口](https://www.codeprj.com/image/aHR0cDovL3d3dy5iYWlrZTM2OS5jb20vY29udGVudC9pbWFnZXMvMjAxNDA2LzQ2OTEuZ2lm.png)
3. 在窗口中输入
show engines;
SQL命令。
4. 在窗口的右下角点击“执行”按钮,打开“显示查询框”页面。如下图所示:
![“显示查询框”页面](https://www.codeprj.com/image/aHR0cDovL3d3dy5iYWlrZTM2OS5jb20vY29udGVudC9pbWFnZXMvMjAxNDA2LzQ2OTAuZ2lm.png)
5. 在“显示查询框”页面中,我们发现,InnoDB类型的Transactions项为YES,这说明InnoDB类型的数据库或数据表支持事务处理。
下面,我们只要将相关的数据表修改为InnoDB存储引擎类型,就能支持事务处理操作了。
6. 在phpMyAdmin的导航面板中选择要修改存储引擎类型的数据库db_xuesheng,然后在主界面顶端点击“SQL”超链接,打开“在数据库db_xuesheng运行SQL查询”窗口。如下图所示:
![“在数据库db_xuesheng运行SQL查询”窗口](https://www.codeprj.com/image/aHR0cDovL3d3dy5iYWlrZTM2OS5jb20vY29udGVudC9pbWFnZXMvMjAxNDA2LzQ2ODkuZ2lm.png)
7. 在查询窗口中输入
ALTER TABLE tb_chengji ENGINE = InnoDB;
SQL命令。
如果输入
ALTER TABLE `tb_chengji` ENGINE = InnoDB;
SQL命令也行。
`tb_chengji`两边的符号是在英文输入的情况下,按下该键打出来的:
![特殊符号的输入](https://www.codeprj.com/image/aHR0cDovL3d3dy5iYWlrZTM2OS5jb20vY29udGVudC9pbWFnZXMvMjAxNDA2LzQ2ODcuZ2lm.png)
8. 点击右下角的“执行”按钮,仍然打开“SQL”超链接窗口。如下图所示:
![打开“SQL”超链接窗口](https://www.codeprj.com/image/aHR0cDovL3d3dy5iYWlrZTM2OS5jb20vY29udGVudC9pbWFnZXMvMjAxNDA2LzQ2ODguZ2lm.png)
9. 至此,成功将数据表由MyISAM存储引擎类型转换为InnoDB存储引擎类型。
我们也可以在数据表中执行事务处理操作了!
//个人理解
1:由于MyISAM存储引擎类型不支持事务,所以该类型一般都是系统表或者是日志表,
2:如果表需要频繁的写操作,修改为InnoDB存储引擎类型较好; |