Actualización de una base de datos de una sola fila en Java

Entonces tengo una base de datos que está hecha así

{NOMBRE DEL MATERIAL; CANTIDAD}

También tengo una JTable en Java que carga la información de la base de datos (SQLite). Cuando edito una celda en la tabla, actualiza automáticamente la base de datos de esta manera:

//table listener
public void tableChanged(TableModelEvent e) {
    //gets row and column if the table is edited
    int row = e.getFirstRow();
    int column = e.getColumn();
    //change in sqlite
    if (column == 1) {
        int value = Integer.parseInt(table.getModel().getValueAt(row, column).toString());
        String materialId = table.getModel().getValueAt(row, column-1).toString();
        try (Connection c = DriverManager.getConnection("jdbc:sqlite:database.db"); Statement statement = c.createStatement()) {
            String sql = "UPDATE MATERIALS set QUANTITY = " + value + " where MATERIAL='" + materialId +"';";
            statement.executeUpdate(sql);
            statement.close();
            c.close();
        } catch (SQLException e1) {
            e1.printStackTrace();
        }
    }
    else if (column == 0) {
        int value = Integer.parseInt(table.getModel().getValueAt(row, column+1).toString());
        String materialId = table.getModel().getValueAt(row, column).toString();
        try (Connection c = DriverManager.getConnection("jdbc:sqlite:database.db"); Statement statement = c.createStatement()) {
            String sql = "UPDATE MATERIALS set MATERIAL = " + materialId + " where MATERIAL='" + materialId +"';";
            statement.executeUpdate(sql);
            statement.close();
            c.close();
        } catch (SQLException e1) {
            e1.printStackTrace();
        }
    }
}

Está bien cuando se actualiza la cantidad. Sin embargo, una vez que se actualiza el nombre del material, no sé cómo se supone que debo actualizarlo en la base de datos.

String sql = "UPDATE MATERIALS set MATERIAL = " + materialId + " where MATERIAL='" + materialId +"';";

Tal vez hay una manera de guardar un valor anterior de ese valor? No puedo usar la cantidad de materiales, ya que podrían repetirse.

Me gustaría evitar agregar ID a los objetos si es posible.

Respuestas a la pregunta(2)

Su respuesta a la pregunta