Considere este código:
mysql -u root -p << MYSQL
drop user '${test}'@'localhost';
drop database ${test};
create user '${test}'@'localhost' identified by '${psw}';
create database ${test};
GRANT ALL PRIVILEGES ON ${test}.* TO ${test}@localhost;
MYSQL
O código gera o seguinte erro para o primeiro comando drop user '${test}'@'localhost';
:
ERRO 1396 (HY000): Falha na operação DROP USER para '${test}'@'localhost'
Minha pergunta
Como eu poderia fazer o programa ignorar esse erro caso apareça, para que a execução não seja interrompida?
Por exemplo, como posso ter certeza de que o programa se comportará desta maneira:
"Elimine se você já tiver um usuário pelo valor de
${test}
, e se não tiver, apenas continue a criá-lo".
Obviamente, a mesma pergunta vale para o segundo comando drop que lida com a instância de banco de dados.
IF EXISTS
Cláusula de uso :https://dev.mysql.com/doc/refman/5.7/en/drop-user.html
Você também pode forçar a
mysql
ferramenta a ignorar erros em todos os comandos:ou seja
mysql --force -u root -p << ...