如果我在mysql中删除了一个删除查询,那么这些行都会被保存吗?

Sim*_*mon 5 mysql sql-delete

假设我正在运行导入的一半,而不是运行

SELECT COUNT(*) FROM table_being_imported
Run Code Online (Sandbox Code Playgroud)

我点击ctrl+ R,键入table_being_im并点击返回,只是为了发现我刚刚发布的恐怖事件

DELETE FROM table_being_imported
Run Code Online (Sandbox Code Playgroud)

哎呀.所以我点击ctrl+ C并得到告诉:

Ctrl-C -- sending "KILL QUERY 627" to server ...
Ctrl-C -- query aborted.
ERROR 1317 (70100): Query execution was interrupted
Run Code Online (Sandbox Code Playgroud)

它会删除任何行吗?只是假设,当然......

Fat*_*orm 9

假设,... 其中一些行现已消失.

在UPDATE或DELETE操作期间,在每个块读取之后以及每个更新或删除的行之后检查kill标志.如果设置了kill标志,则语句将中止.请注意,如果您未使用事务,则不会回滚更改.

这不是现在提及它的时候,但这就是为什么在处理业务关键型数据时,事务性查询最佳.