MySQL不允许在create user
语句中指定if not exists
子句(尽管create table
和create procedure
支持此功能)。2005年有一个关于此功能的请求,但MySQL开发人员没有采取任何措施,因此这可能不会很快实现:
http://bugs.mysql.com/bug.php?id=15287
我正在尝试使用以下语句模拟此功能:
if (select ifnull((select 1
from mysql.user
where User = 'recuser'
and Host = '%'), 0) = 0) then
create user 'recuser'@'%' identified by password 'blah';
end if;
但MySQL抱怨if
语句的语法有问题 - 我没有发现任何错误,希望其他人能指出问题所在。
谢谢!