Этот код имеет некоторую простую синтаксическую ошибку. Я боролся с ним часами, и я сдаюсь. Вы можете это заметить? Держу пари, это легко. Благодаря!Java mysql, Простое обновление с PreparedStatement имеет синтаксическую ошибку
Когда я обновляю только первое имя Джона, никаких проблем. Когда я пытаюсь обновить прокомментированную строку для последнего имени, синтаксическая ошибка.
import java.sql.*;
public class UpdateTester {
public static void main(String[] args) {
try {
Connect connect = new Connect();
Connection connection = connect.getConnection();
try {
String sql = "UPDATE student SET firstName = ? "
+ " WHERE studentID = 456987";
//String sql = "UPDATE student SET firstName = ? "
// + " Set lastName = ?, "
// + " WHERE studentID = 456987";
PreparedStatement pst = connection.prepareStatement(sql);
pst.setString(1, "John");
//pst.setString(2, "Johnson");
pst.executeUpdate();
System.out.println("Updated Successfully!");
connection.close();
} catch (SQLException e) {
System.out.println("Exception 1!");
e.printStackTrace();
}
} catch (Exception e) {
System.out.println("Exception 2!");
e.printStackTrace();
}
}
}
Имена колонок верны. Правильно обновляется только последнее имя на его собственной работе. Ошибка обновления с синтаксической ошибкой при попытке выполнить оба действия, как в пронумерованных строках.
я думаю, что проблема является «» вы должны поставить его перед Lastname и удалить второй набор – Smartoop