mysql的事务失效问题
MyISAM是指Mysql的默认存储引擎,当create创建新表时,未指定新表的存储引擎时,默认使用Myisam。MyISAM管理非事务表。它提供高速存储和检索,以及全文搜索能力
InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是对比Myisam的存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。
?
show create table 表名;
?
查看当前表是用什么引擎
mysql> show create table user;
+-------+------------------------------------------------------------------------------------+
| Table | Create Table?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? |
+-------+------------------------------------------------------------------------------------+
| user? | CREATE TABLE `user` (
? `id` int(11) NOT NULL default '0',
? `name` varchar(20) default NULL,
? PRIMARY KEY? (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+-------+------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
?
ENGINE=InnoDB 则支持事务,如果是MyISAM将不支持事务操作
?
修改表引擎
alter table 表名 engine=InnoDB;
?
?
