在学习事务的过程中,发现无法进行事务的回滚以及提交等操作。
通过查询发现,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;
修改完成后,就可以完成事务相关的操作。