Jal*_*aer 5 mysql transactions
我搜索了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;
Run Code Online (Sandbox Code Playgroud)
更新:感谢所有答案,但我忘了告诉第三个语句抛出异常(Constraint Violation).
是的,但仅适用于支持交易的表.要检查表是否兼容,请执行此操作
SELECT table_name
, engine
FROM information_schema.tables t
WHERE t.table_name IN('Table1','Table2','Table3');
Run Code Online (Sandbox Code Playgroud)
如果它们中的任何一个MyISAM,它们不是交易兼容的.你需要将它们全部更改为InnoDB
ALTER TABLE [TableName] ENGINE=InnoDB;
Run Code Online (Sandbox Code Playgroud)
但要注意 - MyISAM支持InnoDB没有的一些功能,例如FULLTEXT搜索.
| 归档时间: |
|
| 查看次数: |
4622 次 |
| 最近记录: |