MySQL não parece estar executando comandos

1

Estou limpando muitos dos meus DB's / Tables, e tenho me deparado com um problema. Quando executo a maioria dos comandos que alteram dados em uma tabela (ou seja, DELETE FROM ou UPDATE), o comando retorna como concluído, mas na verdade não faz nada.

ou seja

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).

Isso não deveria estar acontecendo, quando eu executo um comando delete eu espero que ele realmente apague as linhas. No entanto, e aqui está a parte estranha, se eu ficar logado por um tempo as linhas acabarão por ser apagadas. Se eu sair imediatamente, as linhas não serão deletadas.

Este não é o código exato que estou executando (trabalhando com muito mais condições / DBs maiores), mas o conceito é exatamente o mesmo. Eu também estou verificando as exclusões usando o adminer.php (um gerenciador MySQL do tipo php 1, como o phpmyadmin), e isso leva cerca de uma hora para que quaisquer exclusões / atualizações sejam registradas.

Eu suponho que os comandos estão sendo enfileirados ou armazenados em cache ou algo assim, e eu gostaria de parar o MySQL de fazer isso. Quando eu insiro um comando, eu gostaria que o MySQL executasse esse comando imediatamente, e não retornasse antes de terminar de executar o comando. Algumas exclusões de 500K terminaram em 2 minutos (o que não consigo acreditar).

Exemplo real:

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)
    
por ASTT 26.05.2016 / 19:22

0 respostas