4
存儲過程的代碼:語法錯誤從創建變量給出用戶名和密碼,用戶
CREATE DEFINER = `root` @`localhost` PROCEDURE `P_CreateUser3` (
IN _Username NVARCHAR(30), IN _Password NVARCHAR(32), IN _DBName VARCHAR(20))
BEGIN
CREATE USER _Username @'localhost' IDENTIFIED BY _Password ;
GRANT SELECT, UPDATE, DELETE, INSERT
ON _DBName.*
TO _Username @'localhost'
WITH GRANT OPTION ;
END $$
錯誤代碼:1064 您的SQL語法錯誤;檢查與您的MySQL服務器版本相對應的手冊,以找到正確的語法以在'_Password; GRANT SELECT,UPDATE , DELETE,INSERT ON ` 公關」第6行
請幫助我。
在CREATE USER或GRANT語句中不支持使用存儲過程輸入參數作爲密碼[記錄在此錯誤中](http://bugs.mysql.com/bug.php?id=28406) 。 – 2012-07-06 20:19:31
嗯,我甚至都沒有試過。剛剛達到執行exec('SomeQuery') – 2012-07-06 20:28:45
@eggyal看起來像我最初的答案。我恢復並刪除它。 – 2012-09-04 16:20:31