MySQLスクリプトで、次のようなことをしたいと思います。
SET @username = CONCAT(DATABASE(), "-1@`%`");
CREATE USER @username;
しかし、CREATEUSER行の構文エラーを解決できません。
CREATE USERが動的に作成されたユーザーを持つことができるように、インライン変数をエスケープする方法はありますか?
MySQLスクリプトで、次のようなことをしたいと思います。
SET @username = CONCAT(DATABASE(), "-1@`%`");
CREATE USER @username;
しかし、CREATEUSER行の構文エラーを解決できません。
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';