模拟mysql查询

dol*_*oug 17 mysql testing

有没有办法测试mysql查询,而无需修改我的数据库?

例如,我可以运行一个delete from my_table where id=101没有实际删除的东西吗?插入和更新怎么样?

TY

sti*_*vlo 26

您可以在运行查询之前启动事务,然后在运行它们之后回滚.请注意,要执行此操作,您将需要InnoDB或XtraDb表(不适用于MyISAM).

要启动事务,请向MySQL发送以下语句:

START TRANSACTION;
Run Code Online (Sandbox Code Playgroud)

在查询结束时运行以下语句:

ROLLBACK;
Run Code Online (Sandbox Code Playgroud)

从其他连接的角度来看,永远不会修改您的数据库.您的当前连接将在ROLLBACK之前看到更改,之后将恢复原始状态.

  • 好吧,现在如果我决定喜欢结果,我该如何保存?`结束交易;`?Geez,现在我必须一路走到谷歌......*徘徊回来*答案是[`COMMIT`](http://dev.mysql.com/doc/refman/5.6/en/commit.html) . (8认同)

bla*_*out 7

如果您只想查看将删除多少行,为什么不用'select count(*)'替换'delete'?