5
回答
MariaDB 为什么不支持事务?
滴滴云服务器,限时包月0.9元,为开发者而生>>>   
String sql = "insert into ts_user (email,name,password,createTime,status) values ('test','test','test','2011-9-9 00:00:00',0)";
Connection conn = DB.getConnection();
conn.setAutoCommit(false);
PreparedStatement st=conn.prepareStatement(sql);
st.execute(sql);

conn.rollback();

 

举报
豆腐块
发帖于6年前 5回/1K+阅
共有5个答案 最后回答: 6年前

引用来自“红薯”的答案

要支持事务需要使用 InnoDB 存储引擎
CREATE TABLE `ts_user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `email` varchar(60) DEFAULT NULL,
  `name` varchar(50) DEFAULT NULL,
  `password` varchar(50) DEFAULT NULL,
  `createTime` datetime DEFAULT NULL,
  `status` bit(1) DEFAULT 0,
  PRIMARY KEY (`id`)

) ENGINE=Innodb  DEFAULT CHARSET=utf8;

没错哇,神奇啦!

引用来自“鉴客”的答案

你是如何判断说不支持事务的/

conn.rollback();//将事务回滚

事务回滚了,但是数据的确是插入了。

MariaDB [foo]> select * from ts_user;
+----+-------+------+----------+---------------------+--------+
| id | email | name | password | createTime          | status |
+----+-------+------+----------+---------------------+--------+
|  1 | test  | test | test     | 2011-09-09 00:00:00 |        |
+----+-------+------+----------+---------------------+--------+
1 row in set (0.00 sec)

顶部