在 MySQL 脚本中,我想做这样的事情:
SET @username = CONCAT(DATABASE(), "-1@`%`");
CREATE USER @username;
但我无法解决 CREATE USER 行中的语法错误。
有没有办法转义内联变量,以便 CREATE USER 可以拥有动态创建的用户?
在 MySQL 脚本中,我想做这样的事情:
SET @username = CONCAT(DATABASE(), "-1@`%`");
CREATE USER @username;
但我无法解决 CREATE USER 行中的语法错误。
有没有办法转义内联变量,以便 CREATE USER 可以拥有动态创建的用户?
您可以使用准备好的语句来做到这一点:
set @sql=concat("create user '", database(), "-haha", "'@'%' identified by 'whatever';");
prepare stmt from @sql;
execute stmt;
deallocate prepare stmt;
select @sql;
select * from mysql.user where user = 'playground-haha';