Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java MySQLSyntaxErrorException_Java_Mysql_Jdbc_Phpmyadmin - Fatal编程技术网

Java MySQLSyntaxErrorException

Java MySQLSyntaxErrorException,java,mysql,jdbc,phpmyadmin,Java,Mysql,Jdbc,Phpmyadmin,我刚刚开始学习MySQL和JDBC 我使用phpmyadmin创建了一个名为testdb的表。表只有两列,分别称为first和last。当我试图从java类连接数据库时,我得到了MySQLSyntaxError。但是我想不出来 这是我的班级: import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import

我刚刚开始学习MySQL和JDBC

我使用phpmyadmin创建了一个名为testdb的表。表只有两列,分别称为first和last。当我试图从java类连接数据库时,我得到了MySQLSyntaxError。但是我想不出来

这是我的班级:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class Main {

    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        String url = "jdbc:mysql://localhost:3306/testdb";

        //Accessing driver from the JAR file.
        Class.forName("com.mysql.jdbc.Driver");

        //Creating a variable for the connection "con"
        Connection con = DriverManager.getConnection(url,"root","password");

        //Here is the query
        PreparedStatement statement = con.prepareStatement("select * from name");

        //Execute query
        ResultSet result = statement.executeQuery();

        while(result.next()) {
            System.out.println(result.getString(1) + " " + result.getString(2));
        }


    }

}
这里有一个例外:

Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'testdb.name' doesn't exist
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
    at com.mysql.jdbc.Util.getInstance(Util.java:386)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1053)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4096)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4028)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2490)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2651)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2734)
    at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
    at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2322)
    at Main.main(Main.java:22)
谢谢你的帮助

MySQLSyntaxErrorException: Table 'testdb.name' doesn't exist
这个错误几乎是描述性的。
testdb
schema中没有名为“name”的表

我使用phpmyadmin创建了一个名为testdb的表

如果您已经创建了表
testdb
,那么它应该是
select*fromtestdb
。不是吗

这个错误几乎是描述性的。
testdb
schema中没有名为“name”的表

我使用phpmyadmin创建了一个名为testdb的表


如果您已经创建了表
testdb
,那么它应该是
select*fromtestdb
。是吗?

您已经创建了一个名为testdb的表,因此您的查询应该是

select * from testdb 
从名称中选择*


您应该真正检查堆栈跟踪。

您已经创建了一个名为testdb的表,因此您的查询应该是

select * from testdb 
从名称中选择*


你真的应该检查一下你的记录。

@AnılSelimSürmeli:不客气。很高兴这有帮助。祝你好运。@AnılSelimSürmeli:不客气。很高兴这有帮助。祝你好运