Я пытаюсь создать простую таблицу с помощью jdbc, но это дает мне ошибку. Это мой код:Ошибка MYSQL с внешним ключом
public class Test {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost/javabook","scott","tiger");
System.out.println("part 1:DONE !");
Statement statement = con.createStatement();
String query = "create table Enrollment (ssn char(9), courseId char(5), dateRegistered date, grade char(2)"+
"primary key (ssn, courseId), foreign key (ssn) references Student (ssn), foreign key (courseId) references Course(courseId)";
statement.executeUpdate(query);
System.out.println("part 2:DONE !");
}
}
Я получаю эту ошибку:
Exception in thread "main" com.mysql.jdbc.exceptions.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
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3277)
at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1402)
at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1317)
at Test.main(Test.java:17)
Вам не хватает запятой после 'grade char (2)'. – Barmar
Да ... вы правы. Но теперь это дает мне другую ошибку :( – aNNgeL0
Я нашел ошибку. Я не могу закрыть главный паратет в конце. Спасибо за вашу помощь! – aNNgeL0