0

root としてログインした後、MySQL コマンド ライン クライアントで次のように入力しました

connect mydb;
grant all privileges on mydb.* to 'admin'@'localhost' identified by 'pass';

Java内で、ドライバーを使用して管理ユーザー ID を使用して db に正常に接続します。

 Statement put=connect.createStatement();

 //**WORKS succesfully**
 put.execute("insert into mydb.emp values(100,joe)");   

 //**does NOT work**
 put.execute("grant all privileges on mydb.* to 'john'@'localhost' identified by 'pass'"); 

insert コマンドは機能するのに、grant コマンドは Java 経由では機能しないのはなぜですか?

助けてください。

4

4 に答える 4

1
put.execute(MySQL query) 

ここではMySQLクエリしか実行できませんが、

grant all privileges on mydb.* to 'admin'@'localhost' identified by 'pass';

MySQL クエリではなく、単なる MySQL のコマンドです。

于 2013-07-10T10:24:12.357 に答える
0

フォローしてみてください

put.execute("grant all privileges on mydb.* to 'john'@'localhost' identified by 'pass'"); 

また、ExtendedAnsiSQL フラグが 1 になっていることも確認してください。

于 2013-07-10T10:27:55.397 に答える
0

引用符を忘れただけです。

于 2013-07-10T10:19:21.290 に答える