MySQL不支持事务处理的解决方法

在学习事务的过程中,发现无法进行事务的回滚以及提交等操作。

通过查询发现,MySQL数据库默认的存储引擎类型是MyISAM,这种存储引擎类型不支持事务处理。

在MySQL中,只有InnoDB存储引擎类型的数据表才能支持事务处理。

因此,如果想让MySQL支持事务处理,只要将数据表修改为InnoDB存储引擎类型即可

改单个表

ALTER TABLE 表名 ENGINE=InnoDB;
ALTER TABLE 表名 ENGINE=MyISAM;

改多个表

#修改为InnoDB
SELECT CONCAT( 'ALTER TABLE ', TABLE_NAME, ' ENGINE=InnoDB;' )
FROM information_schema.tables
WHERE table_schema = '数据库名'
LIMIT 0 , 10000;
 #修改为MyISAM

SELECT CONCAT( 'ALTER TABLE ', TABLE_NAME, ' ENGINE=MyISAM;' )
FROM information_schema.tables
WHERE table_schema = '数据库名'
LIMIT 0 , 10000;

修改完成后,就可以完成事务相关的操作。

 

原文地址:https://www.cnblogs.com/ttzz/p/13669674.html