Я пытаюсь заполнить удаленную базу данных, но в настоящее время я получаю эту ошибку, и я не уверен, как это исправить. Ошибка относится к первому значению, которое я пытаюсь ввести в таблицу. Я обработал события, в которых no eventID
не будет передаваться в таблицу eventID.Неизвестный столб в 'списке полей' MySQLSyntaxErrorException
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column '0654fac7' in 'field list'
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:526)
Это мой код:
protected void loadToDatabase() {
String dbURL = "jdbc:mysql://remotehost/database";
String usr = "username";
String password = "";
try {
Connection Conn = DriverManager.getConnection(dbURL, usr, password);
Statement stmt = Conn.createStatement();
for (String i : eventIDs) {
String sql = "INSERT INTO eventID VALUES (" + i + ");";
stmt.executeUpdate(sql);
}
System.out.println("Insert complete");
} catch (Exception e) {
e.printStackTrace();
}
}
Это данные, которые я пытаюсь передать в базу данных:
Test Case 0: 0654fac7-7aa8-4c55-bdaf-77b39692aa3f-1413318357238
Test Case 1: f9914577-c60d-49ae-bec6-4db0463676fd-1413318358598
Test Case 2: 6f1b6e4e-9d51-411b-8248-2cd9e1ef2712-1413318360005
Test Case 3: 330860b3-f22b-4b84-9837-bb949c2659ca-1413318361411
Test Case 4: no eventID
Test Case 5: e09f77f3-d816-49ab-90cd-4df56d8c8ef2-1413318366577
Test Case 6: f580e84e-7a3d-4693-bbea-454c5d699070-1413318367992
Test Case 7: no eventID
Моя база данных состоит просто из одного столбца.
mysql> show tables in eventID;
+-------------------+
| Tables_in_eventID |
+-------------------+
| eventID |
+-------------------+
A PreparedStatement позволит избежать вашей проблемы, быть быстрее и будет препятствовать внедрению sql. –