Не могу понять ошибку с JDBC

0

Я делаю проект для создания базы данных для моего класса кодирования. Однако, когда я запускаю этот код

import java.sql.*;

public class addTable {
// JDBC driver name and database URL
   static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";  
   static final String DB_URL = "jdbc:mysql://LocalHost/internData";

 //  Database credentials
static final String USER = "root";
static final String PASS = "password";

public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try{
  //STEP 2: Register JDBC driver
  Class.forName("com.mysql.jdbc.Driver");

  //STEP 3: Open a connection
  System.out.println("Connecting to a selected database...");
  conn = DriverManager.getConnection(DB_URL, USER, PASS);
  System.out.println("Connected database successfully...");

  //STEP 4: Execute a query
  System.out.println("Creating table in given database...");
  stmt = conn.createStatement();

  String sql = "CREATE TABLE TREFYY " +
               "(EntryNumber INTEGER not NULL, " +
               " Date VARCHAR(255), " + 
               " CriterionNum INTEGER not NULL, " + 
               " Score VARCHAR(255) " ; 

  stmt.executeUpdate(sql);
  System.out.println("Created table in given database...");
}catch(SQLException se){
  //Handle errors for JDBC
  se.printStackTrace();
 }catch(Exception e){
  //Handle errors for Class.forName
  e.printStackTrace();
}finally{
  //finally block used to close resources
  try{
     if(stmt!=null)
        conn.close();
   }catch(SQLException se){
   }// do nothing
   try{
     if(conn!=null)
        conn.close();
   }catch(SQLException se){
     se.printStackTrace();
  }//end finally try
}//end try
System.out.println("Goodbye!");
}

Я получаю эту ошибку

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

Как устранить эту ошибку? Из всех руководств я смотрел, что SQL кажется правильным, но я думаю, что я что-то упускаю.

  • 1
    Вам не хватает а ) в конце строки sql
  • 0
    ваш запрос не имеет ) в конце
Теги:
jdbc

3 ответа

0
Лучший ответ
String sql = "CREATE TABLE TREFYY " +
               "(EntryNumber INTEGER not NULL, " +
               " Date VARCHAR(255), " + 
               " CriterionNum INTEGER not NULL, " + 
               " Score VARCHAR(255) " ; 

Вам не хватает закрытия ) в конце инструкции sql:

String sql = "CREATE TABLE TREFYY " +
                   "(EntryNumber INTEGER not NULL, " +
                   " Date VARCHAR(255), " + 
                   " CriterionNum INTEGER not NULL, " + 
                   " Score VARCHAR(255))" ; 
0

Вы пропустили закрытие скобки в последней строке после типа.

String sql = "CREATE TABLE TREFYY " +
               "(EntryNumber INTEGER not NULL, " +
               " Date VARCHAR(255), " + 
               " CriterionNum INTEGER not NULL, " + 
               " Score VARCHAR(255)) " ;
0

Вам не хватает ")" в конце вашего SQL.

... Оценка VARCHAR (255))

Ещё вопросы

Сообщество Overcoder
Наверх
Меню