MySQL 似乎没有执行命令

MySQL 似乎没有执行命令

我正在清理大量数据库/表,但遇到了一个问题。当我执行大多数更改表数据的命令(例如 DELETE FROM 或 UPDATE)时,命令会返回已完成状态,但实际上不会执行任何操作。

IE

mysql> SELECT * FROM members WHERE username = "Alex";
(Returns alex row).
mysql> DELETE FROM members WHERE username = "Alex";
(Says is completed, 0 row affected)
mysql> SELECT * FROM members WHERE username = "Alex";
(Returns alex row).

这不应该发生,当我运行删除命令时,我希望它实际上会删除行。然而,奇怪的是,如果我保持登录状态一段时间,行最终会被删除。如果我立即退出,行根本不会删除。

这不是我正在运行的确切代码(使用更多条件/更大的数据库),但概念完全相同。我还使用 adminer.php(一个 1 php 文件 MySQL 管理器,如 phpmyadmin)检查删除,任何删除/更新实际注册大约需要一个小时。

我假设命令正在排队或缓存或类似的东西,我想阻止 MySQL 这样做。当我输入命令时,我希望 MySQL 立即运行该命令,而不是在实际执行完命令之前返回。大约 500K 的删除在 2 分钟内完成(我简直不敢相信)。

实例:

mysql> UPDATE members  SET username = REPLACE(username, ' ', '');
Query OK, 0 rows affected (0.05 sec)
Rows matched: 24013  Changed: 0  Warnings: 0
mysql> SELECT * FROM members; 
(displays many usernames, still with whitespaces)

相关内容