MySQL 具有架构修改语句 (DDL) 的事务?

MySQL transactions with schema modification statements (DDL)?

尽管提交或回滚,但两种情况下的更改都是 "commited"。

提交:

START TRANSACTION;
ALTER TABLE `bank` CHANGE COLUMN `bank_active` `bank_activated` BOOLEAN NOT NULL;
COMMIT;

回滚:

START TRANSACTION;
ALTER TABLE `bank` CHANGE COLUMN `bank_active` `bank_activated` BOOLEAN NOT NULL;
ROLLBACK;

需要构建一个自动更新程序,其中包括数据库的模式和数据更新,并希望将所有内容分组到一个事务中,所以如果出现任何问题,只需修复语句并再次 运行。

是否可以在事务中回滚 DDL 语句?

谢谢

BEGIN 在某些情况下与 START TRANSACTION.

相同

phpmyadmin 一次执行一个查询,除非您为此将批处理放在 window 中。试试看。

(与 SET autocommit = 0 无关,因为显式 START。)

编辑

因为 "transaction" 确实有一个 DDL 语句,所以我的 'answer' 是无关紧要的。

无法回滚 DDL:https://dev.mysql.com/doc/refman/5.7/en/cannot-roll-back.html