gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 07:01:00 26 4
gpt4 key购买 nike

我已经搜索了 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;

更新:感谢所有回答,但我忘了告诉你第三条语句抛出异常(违反约束)。

最佳答案

是的,但仅限于支持事务的表。要检查您的表是否兼容,请执行此操作

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 不支持的某些功能,例如全文搜索。

关于mysql - MySql 可以在多个表上回滚 sql 事务吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3094398/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com