在MySQL的命令行客户端以root身份登录后,创建用户在MySQL中,我输入:用java
connect mydb;
grant all privileges on mydb.* to 'admin'@'localhost' identified by 'pass';
现在内的Java, 我成功地使用使用管理用户ID连接到数据库驱动程序。
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'");
为什么插入命令可以工作,但授予命令永远不能通过Java工作?
请帮忙。
一两件事,我立刻看到的是,你的INSERT查询是一个字符串,而哟我们的GRANT查询不是。 – BLaZuRE
@Xperiaz X作为根你的意思是从Linux终端为例? –
并非所有数据库都通过JDBC支持DDL命令,所以您可能根本无法通过JDBC修改数据库结构。 – beny23