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?