JDBC retorna número incorreto de linhas afetadas

Se tivermos uma tabela com 10 linhas e executarmos essa consulta duas vezes, obteremos o número errado de linhas afetadas pela segunda vez.

Statement st = open();

st.executeUpdate("UPDATE  `tickets` SET price=1000"); // return 10
st.executeUpdate("UPDATE  `tickets` SET price=1000"); // return 10

Obviamente, não está correto, porque na primeira consulta o preço de todas as linhas é atualizado para 1000 e na segunda consulta nada realmente muda, mas retorna 10 novamente!

Como posso obter o número de linhas que são realmente atualizadas?

questionAnswers(1)

yourAnswerToTheQuestion