模拟MySQL查询

xdyibdwo  于 12个月前  发布在  Mysql
关注(0)|答案(3)|浏览(109)

有没有一种方法可以在不修改数据库的情况下测试MySQL查询?
例如,我可以运行DELETE FROM my_table WHERE id = 101而不实际删除任何东西吗?INSERTUPDATE呢?
Ty

iyzzxitl

iyzzxitl1#

您可以在运行查询之前启动一个事务,然后在运行它们之后回滚。请注意,要做到这一点,您需要InnoDB或XtraDb表(在MyISAM上不起作用)。
要启动一个事务,请向MySQL发送以下语句:

START TRANSACTION;

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

ROLLBACK;


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

gg58donl

gg58donl2#

如果你只是想看看有多少行会被删除,为什么不用“select count(* n)”代替“delete”呢?

8oomwypt

8oomwypt3#

将你的数据库复制到一个测试数据库或者自动生成一个导入脚本。然后你可以在测试数据库上测试你想要的任何东西,然后使用脚本或者导入再次恢复它。

相关问题