我有一个在多个位置使用用户的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'附近使用的语法
有没有办法做到这一点?
答案 0 :(得分:0)
您可能会使用准备好的语句(有点复杂),但是如果您特别想使用用户定义的变量来替代您描述的用户名,答案是否定的。
这是这里的错误,报告为:https://bugs.mysql.com/bug.php?id=28406