mysql中事物处理不起作用是什么原因
原因分析:
mysql有多种存储引擎,有些版本(mysql5.5.5以前默认是MyISAM,mysql5.5.5以后默认是InnoDB)安装时默认的存储引擎是MyISAM,而MyISAM存储引擎是不支持事务处理的。
(推荐教程:mysql数据库学习教程)
解决方法:
show ENGINES;
该语句将列出该版本的mysql所支持的所有存储引擎,并且可看到默认的存储引擎为InnoDB(这个是我修改之后的,刚安装mysql完默认的是MyISAM)。
修改存储引擎:
1、修改mysql默认存储引擎为InnoDB
关闭mysql服务: net stop mysql
找到mysql安装目录下的my.ini文件:
找到default-storage-engine=MYISAM 改为default-storage-engine=INNODB
找到skip-innodb 改为#skip-innodb,即注释掉该行,skip-innodb为忽略InnoDB的意思,此处需要开启InnoDB,故需要把它注释
启动mysql服务:net start mysql
2、查看表使用的存储引擎
show table status from db_name where name='table_name';
3、修改表的存储引擎
alter table table_name engine=innodb;
来源:PY学习网:原文地址:https://www.py.cn/article.html