gpt4 book ai didi

具有模式修改语句 (DDL) 的 MySQL 事务?

转载 作者:行者123 更新时间:2023-11-29 02:55:34 24 4
gpt4 key购买 nike

尽管提交或回滚,更改在这两种情况下都是“提交”的。

提交:

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 一次执行一个查询,除非您为此将批处理放在窗口中。试试看。

(并且 SET autocommit = 0 是不相关的,因为显式 START。)

编辑

因为“交易”确实有一个 DDL 语句,所以我的“答案”是无关紧要的。

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

关于具有模式修改语句 (DDL) 的 MySQL 事务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31013626/

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