3
我在GRANT和变量一起在MySql中有一些麻烦。如何在变量中使用GRANT?
SET @username := 'user123', @pass := 'pass123';
GRANT USAGE ON *.* TO @[email protected]'%' IDENTIFIED BY @pass;
GRANT INSERT (header1, header2, headern) ON `data` TO @[email protected]'%';
GRANT SELECT (header1, header2) ON `data2` TO @[email protected]'%';
我希望把用户名和密码的变量在脚本的开头,再后来在GRANT使用它们
所以不是这样的:
GRANT USAGE ON *.* TO 'user123'@'%' IDENTIFIED BY 'pass123';
我会喜欢使用这样的东西:
GRANT USAGE ON *.* TO @[email protected]'%' IDENTIFIED BY pass;
我真的很感激,如果有人能告诉我适当的声明秒。 谢谢你的声音!
应该不是被'IDENTIFIED BY @ pass',你错过了'@' – asifsid88 2013-02-12 10:37:31
谢谢,我纠正它,但这不是解决的主要问题。 :( – Pho3nixHun 2013-02-12 10:40:10
变量只能用于SQL允许表达式的地方,GRANT语句中没有表达式,你可以用动态SQL做。 – Barmar 2013-02-12 10:53:35