Mysql表自己添加行

时间:2018-02-05 10:09:15

标签: php mysql

短篇小说:我在循环中编写了一个代码,将行插入到mysql表中,并使其意外运行3个小时。我试图清空mysql表,但是它再次自动开始插入行。我甚至尝试删除并重新创建它,但它会自动插入行(id按升序排列)

全文:

2天前,我编写了一个使用API​​的代码,并将数据插入到mysql表中(在循环中)。为了确定,我添加了多少条记录,我制作了一张名为" lastrequestdone"并在每个记录成功插入后开始插入id个数字。

但代码在1小时内插入了所有ID,之后,API开始出错:404响应,循环开始运行得非常快。

因此,假设我运行了3个小时的循环,以递增的顺序插入id。但是一旦我意识到这一点,我就停止了循环。试图清空表,但每当我清空表时,会自动开始插入更多行。

然后我放弃了桌子,今天再次创建它,但同样的事情正在发生。行自动插入。

2 个答案:

答案 0 :(得分:2)

使用MySQL之类的任何UI工具或类似工具查找MySQL Workbench服务器中的进程,并尝试查找您运行的查询过程并停止该特定进程。你应该这样解决它。

答案 1 :(得分:1)

希望它可以帮到你 - https://dba.stackexchange.com/questions/63302/how-to-stop-the-execution-of-a-long-running-insert-query

你的意思是“杀死/停止MySQL实例”linux命令kill -9 ......? 是的,这可能会导致数据损坏。

而不应该留下损坏的数据是MySQL的build-in kill command。请参阅页面的下半部分,其中指出可能需要一段时间才能实际注意到kill标志的存在。声明它的部分不会在不使用事务时回滚更新(这意味着它会在使用事务时回滚更新)等等。因此,我认为这不会破坏任何数据(除了杀死修复和优化,如此处所述)

您可以使用the command show processlist.

找到此命令所需的线程ID