请考虑以下代码:
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
代码为第一个命令输出以下错误drop user '${test}'@'localhost';
:
错误 1396 (HY000): '${test}'@'localhost' 的操作 DROP USER 失败
我的问题
如果出现此错误,我怎样才能让程序忽略它,以便执行不会中断?
例如,我如何确保程序会以这种方式运行:
“如果你已经有一个用户,如果你已经有一个用户
${test}
,如果你没有,就继续创建它”。
当然,同样的问题也适用于处理数据库实例的第二个 drop 命令。
使用
IF EXISTS
条款:https://dev.mysql.com/doc/refman/5.7/en/drop-user.html
您还可以强制该
mysql
工具忽略所有命令上的错误:IE
mysql --force -u root -p << ...