Home > DeveloperSection > Forums > MySQLSyntaxErrorException
Ashish Pandey

Total Post:128

Posted on    June-12-2013 12:30 AM

 Java Java 

 1 Reply(s)
 934  View(s)
Rate this:

I've just started to learn MySQL and JDBC.

I created a table called testdb using phpmyadmin. Table just has 2 columns called first and last. When I am trying to connect the database from my java class, I get MySQLSyntaxError. However I could not figure it out.

Here is my class:

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.



        //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));







And here is the exception:

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)

Thank you for your help

Vijay Shukla

Total Post:100

Posted on    June-12-2013 7:39 AM

Hey Ashish Pandey!

You've created a table named testdb therefore your query should be
select * from testdb
not select * from name
you should really check your stacktraces.

Don't want to miss updates? Please click the below button!

Follow MindStick