设为首页 - 加入收藏 华夏网 ()- 云主机,资讯,互联网,人工智能,云计算,大赢家论坛,区块链,VR,站长网!
热搜: 平台 google 2019 中国
当前位置: 主页 > 水果奶奶论坛 > 正文

MySql可以在多个表上回滚sql事务吗?

发布时间:2021-04-04 13:36 所属栏目:[水果奶奶论坛] 来源:网络整理
导读:我搜索了MySql文档但什么也没找到.我试过这个回滚似乎没有取消table1和table2中的插入 Start Transaction;INSERT INTO Table1(field1,field2) VALUES (value1,value2);INSERT INTO Table2(field3,field4) VALUES (value3,value4);INSERT INTO Table3(field5,

我搜索了MySql文档但什么也没找到.我试过这个…回滚似乎没有取消table1和table2中的插入

Start Transaction;

INSERT INTO Table1(field1,field2) VALUES (value1,value2);

INSERT INTO Table2(field3,field4) VALUES (value3,value4);

INSERT INTO Table3(field5,field6) VALUES (value5,value6);

Rollback;

更新:感谢所有答案,但我忘了告诉第三个语句抛出异常(Constraint Violation). 最佳答案 是的,但仅适用于支持交易的表.要检查表是否兼容,请执行此操作

SELECT table_name,engine
  FROM information_schema.tables t
 WHERE t.table_name IN('Table1','Table2','Table3');

如果它们中的任何一个是MyISAM,则它们不是事务兼容的.您需要将它们全部更改为InnoDB

ALTER TABLE [TableName] ENGINE=InnoDB;

但要注意 – MyISAM支持InnoDB没有的一些功能,例如FULLTEXT搜索.

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

网友评论
推荐文章