MySQL continua após o erro de entrada duplicado

1

Estou executando um script 'bash for' para atualizar alguns registros no mysql, assim:

for i in 'cat yahoo.txt'; do mysql $DB --batch -fe "update users set email=concat(left(email, instr(email, '@')), 'yahoo.com') where email like '%@$i';" ; done

mas mesmo com --force, a atualização pára após o primeiro erro:

ERROR 1062 (23000) at line 1: Duplicate entry '[email protected]' for key 3

Existe alguma maneira que eu possa forçá-lo a continuar?

    
por w00t 25.07.2012 / 11:27

1 resposta

2

tente alterar atualizar para atualizar ignorar

link :

With the IGNORE keyword, the update statement does not abort even if errors occur during the update. Rows for which duplicate-key conflicts occur are not updated. Rows for which columns are updated to values that would cause data conversion errors are updated to the closest valid values instead.

    
por 25.07.2012 / 11:45

Tags