我的SQL>有可能回滚“CREATE DATABASE”语句吗?

时间:2015-11-16 13:58:26

标签: mysql ddl rollback

我打算创建几个数据库并向相应的用户授予权限。例如,

CREATE DATABASE DB1;
GRANT .. ON .. TO DB1;
CREATE DATABASE DB2;
GRANT .. ON .. TO DB2;
CREATE DATABASE DB3;
GRANT .. ON .. TO DB3;

但是我想这样做,以便如果任何一个语句失败,所有先前的语句,如“CREATE DATABASE”或“GRANT ...”应该像事务语句的ROLLBACK一样被取消

这可能吗?

2 个答案:

答案 0 :(得分:0)

您无法使用Mysql工作台回滚。 Toad For Mysql支持回滚选项,您可以从以下网站下载:

http://toad-for-mysql.en.softonic.com/

答案 1 :(得分:0)

无法使用标准rollback命令在mysql中回滚CREATE TABLE和GRANT语句,请参阅commands that cause implicit commit上的mysql文档。

您必须通过删除已创建的数据库对象并撤消授予的访问权限来手动回滚这些语句。

某些mysql管理器应用程序可能具有此类功能,但这些功能还依赖于手动撤消命令。