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
语句中的语法 - 我看不出有什么问题,希望其他人可以指出问题所在。
谢谢!
最佳答案
Denis 回答了您的确切问题,但还有其他方法可以解决您的问题:请参阅我对 mysql create user only when the user doesn't exist 的回答(这里也有类似存储过程的例子)
关于mysql - 模拟 "create user if not exists"语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1502885/