将用户名存储到mysql sql文件中的变量中

时间:2019-07-19 03:52:25

标签: mysql

我有一个在多个位置使用用户的mysql sql文件。我希望能够定义一个存储用户的变量,以便可以在多个地方使用它。

我的sql文件如下所示...

SET @username = "'myapp'@'localhost'";
DROP USER if exists @username;
DROP DATABASE if exists mydb;
CREATE DATABASE mydb;

use mydb;

CREATE TABLE mydb.table1 (
    match_id INT AUTO_INCREMENT PRIMARY KEY,
    board BINARY(64) NOT NULL
);

 CREATE USER @username IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON mydb.table1 TO @username;

但这绝对不行...

  

错误1064(42000):您的SQL语法有错误;检查   与您的MySQL服务器版本相对应的手册   在第1行的'@username IDENTIFIED BY'password'附近使用的语法

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:0)

您可能会使用准备好的语句(有点复杂),但是如果您特别想使用用户定义的变量来替代您描述的用户名,答案是否定的。

这是这里的错误,报告为:https://bugs.mysql.com/bug.php?id=28406