Ниже у меня есть фрагмент кода, который предназначен для вставки записей в таблицу publisher
с использованием подготовленных операторов:
publisher(
publisherID INT NOT NULL PRIMARY KEY,
name VARCHAR(100) NOT NULL,
location VARCHAR(100)
);
//....
try {
pStmt.setInt(1, 123);
pStmt.setString(2, “Springer”);
pStmt.setString(3, “Berlin”);
pStmt.executeUpdate();
con.rollback();
con.setAutoCommit(false);
pStmt.setInt(1, 124);
pStmt.setString(2, “Heyne”);
pStmt.setString(3, “München”);
pStmt.executeUpdate();
pStmt.setInt(1, 123);
pStmt.setString(2, “Forum”);
pStmt.setString(3, “Leipzig”);
pStmt.executeUpdate();
con.commit();
} catch(SQLException e) {
try {
}
con.rollback();
con.close();
} catch(SQLException e) {}
Если этот код выполняется, будет успешно вставлена только запись (124,"Heyne","München")
(согласно книге).Может кто-нибудь объяснить мне, почему третий кортеж (123, "Forum", "Leipzig")
не будет вставлен?